/// <summary>
/// 需要添加引用com中的"microsoft excel 11.0 object library"
/// </summary>
///
/// <param name="mydgv"></param>
public void Exportdatagridviewtoexcel(DataGridView mydgv)
{
if (mydgv.Rows.Count == 0)
{
MessageBox.Show(" 没有数据可供导出!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
SaveFileDialog savedialog = new SaveFileDialog();
savedialog.DefaultExt = "xlsx";
savedialog.Filter = "microsoft office execl files (*.xlsx)|*.xlsx";
savedialog.FilterIndex = 0;
savedialog.RestoreDirectory = true;
savedialog.Title = "导出数据到excel表格";
savedialog.ShowDialog();
if (savedialog.FileName.IndexOf(":") < 0) return; //被点了取消
//Microsoft.office.interop.excel.application xlapp = new microsoft.office.interop.excel.application();
Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();
if (xlapp == null)
{
MessageBox.Show("可能您的机子未安装excel,无法创建excel对象!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlapp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
//定义表格内数据的行数和列数
int rowscount = mydgv.Rows.Count;
int colscount = mydgv.Columns.Count;
//行数不可以大于65536
if (rowscount > 65536)
{
MessageBox.Show("数据行记录超过65536行,不能保存!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//列数不可以大于255
if (colscount > 256)
{
MessageBox.Show("数据列记录超过256列,不能保存!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//写入标题
for (int i = 0; i < mydgv.ColumnCount; i++)
{
worksheet.Cells[1, i + 1] = mydgv.Columns[i].HeaderText;
}
//写入数值
for (int r = 0; r < mydgv.Rows.Count; r++)
{
for (int i = 0; i < mydgv.ColumnCount; i++)
{
if (mydgv[i, r].ValueType == typeof(string))
{
worksheet.Cells[r + 2, i + 1] = "" + mydgv.Rows[r].Cells[i].Value;//将长数值转换成文本
}
else
{
worksheet.Cells[r + 2, i + 1] = mydgv.Rows[r].Cells[i].Value;
}
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
if (savedialog.FileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(savedialog.FileName);
}
catch (Exception ex)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!..." + ex.Message, "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//GC.Collect();//强行销毁
MessageBox.Show("数据导出成功! ", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
第一种:使用 Microsoft.Office.Interop.Excel.dll 首先需要安装 office 的 excel,然后再找到Microsoft.Office.Interop.Excel.dll 组件,添加到引用。 public void ExportExcel(DataTable dt) { if (dt != ...
程序中经常会使用到的一个功能就是导出 Excel ,而导出 Excel 的实现主要有两种方法,一种是 CSV 导出,一种是 NPOI 导出,而从效果上来说,NPOI 更能够符合Excel 导出规范。 2、CSV与NPOI简介 CSV逗号分隔值...
1、使用Microsoft.Office.Interop.Excel.dll 缺点:性能实在是不敢恭维,而且局限性太多。首先必须要安装 office(如果计算机上面没有的话),而且导出时需要指定文件保存的路径。也可以输出到浏览器下载,当然前提...
mvc 实现导出到excel
引用HtmlAgilityPack.dll程序集 关于HtmlAgilityPack的介绍参考下面这个链接 ...amp;timestamp=1541552604&ver=1229&signature=uDJvEN99KoVng8qAptQ1Sd-DXMbqVbqW0Y8FHAZUU7uw1gL5fPrQB2rxHr...
https://www.cnblogs.com/Brambling/p/6854731.html 一、FileStream [Description("测试结果")] public string Result { set { _result = value; } get { return _re...
还是前两天做那个抽奖系统, 因为抽完奖要保存到... 之前写过一篇用WPS导出的,但是那种导出方法效率太低,经常点击导出以后还要等它转两圈。所以就有了这篇博客。 PS:我们抽奖系统的最终界面和上一版有不小的变化。
做了一个页面导出Excel的功能,后端用easypoi,然后传送base64到前端,前端通过转换后导出Excel。 后端部分代码 Workbook workbook = reportUtil.exportExcel(); ByteArrayOutputStream out ...
用c#做了个小工具,生成的exe文件放到需要转换的excel文件目录,可以实在自动读取该目录下的所有xlsx文件,并在该目录下创建csv和txt两个文件夹,用来存放转换之后的csv和txt文件。 using System; using System....
using NPOI.HSSF.UserModel; protected void btnExcel_Click(object sender, EventArgs e) { var db = DataManager.getDataBase(); //将页面中的值放入excel模板中 string TempletF
简单的Excel导出比较好做,只要设置表头,循环在表格中赋值添加数据即可,但是如果表头是不固定的,并且个数是不确定的,这就需要根据查询出数据的特点来添加导出了。 导出效果图: 如上图所示,商品的个数是不...
public static void ExportCSV(System.Data.DataTable table, string path) { Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Applicati
如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格?
mysql查询结果导出excel(乱码解决) select * into outfile ‘文件路径’ character set gbk from ‘表名查询条件’ eg: select * into outfile ‘C:/baseMessage.xls’ character set gbk from ld_base_message ...
/// ///不要图省劲省略了System.Data。Microsoft.office.Interop.DataTable 和System.Data.DataTable 会产生歧义 public void DataTabletoExcel(int Id) { OrderModel order = BLL.GetModel(Id);
在工作中,使用ASP.net(C#)从页面上导出Excel文件。要求是复杂表头 所以就试了几种方法,列出来供大家参考: 第一种方法呢,主要针对简单的Excel的导出,只有一行列名和数据。 在页面上,有一个导出的按钮。...
用到的dll文件 ,, 没有的可以去官网下载 , 也可以在VS中的Nuget Packages 去联机搜索、添加。...//页面调用 TestPrintExcel 方法类 protected void Page_Load(object sender, EventArgs e) ...
(新手)关于echarts图形导出到excel
添加引用using ICSharpCode.SharpZipLib.Zip; public void CreateDirectory(string DirectoryPath) { if (!Directory.Exists(DirectoryPath)) // 判断当前目录是否存在。 {
一、定时导出Excel并定时发送到邮箱 首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务 2.定时导出Excel定指定路径 3.定时发送邮件包含附件 接下来我们一个个解决, 1.1发送邮件 现...
根据Excel生成树,Excel的某些节点为属性节点, 如: 列(桩号、构件编码、测试属性1) 是列(分项工程名称) 的属性,非节点。 列(桩号、构件编码、测试属性1) 以属性的方式存在 导入的思路: 排除...
public virtual WebApiResult<string> ExpExcelReceiveDetailForm(CustConfirmDetailModel model) { //记录日志信息 log.Debug($"应收明细参数:{JsonConvert.SerializeObject(model)}");...
1,不是用第三方插件(html直接输出) StringBuilder ssb = new StringBuilder(); StringBuilder sb = new StringBuilder(); sb.AppendFormat(@"<html> <meta ...
npoi操作excel导出和合并(二)
[csharp] using System; using System.Collections.Generic; using System.Web; using System.Configuration; using System.Data; using System.Data.Common; using System.Data.OleDb;... using Syste
2013-12-19 14:01 7433人阅读 评论(1) 收藏 ...1:导出数据为Excel文件在开发项目时比较常见的一种需求 。以前对于数据量较小的情况使用 Microsoft.Office.Interop.Excel.Workbooks相关类,编写起来也比较麻烦,
基于springBoot的POI导出excel通用方法 介绍: 该方法是根据xml配置内容去导出传入的对象集合,导出需要导出的数据不同对象配置不同的xml。 pom.xml配置 &lt;!-- 继承默认值为Spring Boot --&gt...
一、通过后端处理导出1.) 后端响应头设置前端若想下载一个根据查询参数生成的excel报表文件,需要后端设置请求内容的类型,具体设置如下:2.) 前端相应的代码正常情况下...
生成二维码并导出到excel表
淘宝/天猫/京东/拼多多/苏宁易购/小米商城/华为商城/抖音直播/茅台抢购助手,功能非常多,很强大的一款秒杀抢购软件!