1.Install-Package NPOI -v 2.4.0 2. using NPOI.XSSF; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using System.IO; static void ExportDataTable(DataTable dt) { string exportedExcelFullName = Directory.GetCurrentDirectory() + "//" + DateTime…
public MemoryStream GridToExcelByNPOI(DataTable dt, string strExcelFileName) { HSSFWorkbook wk = new HSSFWorkbook(); ISheet tb = wk.CreateSheet("mySheet"); for (int i = 0; i < dt.Rows.Count; i++) { if (i == 0) { IRow row = tb.CreateRow(i); fo…
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能让用户准备好数据,离开Excel,或生成数据,要重新打开某文件才能获取到数据结果. 在VSTO中,用户随时在Excel最强UI前端中生产数据,同时也在获得数据结果后,无缝地利用Excel强大的数据处理能力进行数据的再次加工如Vlookup一些其他信息进来,做个图表展示等等. VSTO程序在用户全程数…
1 到这里下载classes里面的文件 https://github.com/PHPOffice/PHPExcel 2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel  然后把文件放进去 3 在封装一个函数 function exportExcel($data, $savefile = null, $title = null, $sheetname = 'sheet1') { vendor('Phpexcel.PHPExcel'); //从PHPMailer目录导cl…
tr.GetCell().SetColor("#fbd4b4");…
项目中经常会遇到Excel导入数据,Excel的模板会可能是存在合并单元格的,模板如下图所示 读取时需要填充合并单元格的值,转成datatable单元格值时,填充合并单元格的值,如下图所示: 合并单元格的值填充,这种格式的datatable使用SqlBulkCopy批量导入更为方便 Excel转datatable方法代码: /// <summary> /// Excel转DataTable /// </summary> /// <param name="filePa…
之前我们在使用npoi导入excel表格的时候,往往会遇见那种带有合并单元格的数据在导入的时候出现合并为空的问题, 也就是只有第一条有数据,其余均为空白.在网上翻了半天也没有找到合适的解决方案,最后还是想着静下心来好好研究一番,于是... 我们先来看看通常我们的导入方式,如下图,这是我们的导入模板,带有合并单元格 下面我们来看看对应的npoi所读到的DataTable数据 你会发现,只有第一行有数据,其余我们合并的单元格为空值,那我们导入到数据库必将会出错. 于是去查看代码,发现原来的获取单元格…
我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSERT INTO table2(column_name(s))SELECT column_name(s)FROM table1;       1.bin      bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,…
使用C#对DataTable导出到Excel是我们工作当中比较多用到的场景,微软提供了Microsoft.Office.Interop.Excel组件可以进行操作,但是该组件在数据量大的时候速度很慢,可以参考stackoverflow上的提问(Microsoft.Office.Interop.Excel really slow),所以我又找了一些其它的开源组件,比如著名的OpenXML,但是它不支持.NET 2.0了.终于在stackoverflow上看到有人说NPOI,试了一下,速度果然很快,…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel; using System.IO; using System.Data; namespace NetUtilityLib { public class ExcelHelpe…