C#中导出数据到Excel表格中
2021-05-13 08:27
标签:case 上下 fill 导出数据 问题 页面 etc height ooxml 之前PM交给我一个自动化测试的Case,让我抓取页面上的数据到Excel表格中,刚好又接了一个之前人家做的系统, 刚好看到可以用NPOI导数据,就动手试试,成功导出。 由于鄙人比较菜,也比较懒, 怕自己忘记了,今天就总结一下,以防下次用可以参考。 1.要使用NPOI,首先需要在Project中Install NPOI的 Package。 右键点击Project------>Manage NuGet Packages---->Search NPOI----->点击搜索到的NPOI然后点击等待安装完毕。 2. 安装完成后,你可以在Project的References下看到下面的4个Assembly: NPOI; 3. 现在就可以在代码中使用啦。。。 首先引用以下几个命名空间: Using NPOI.XSSF.UserModel; 注:POI读取Excel有两中格式,一种是HSSF,另一种是XSSF。 HSSF适用2007以前的版本,XSSF适用2007版本及其以上的。 下面是我在本地测试代码的主要部分: 注: 由于我自己有遇到下面的问题,所有顺便提一句,引用了命名空间Using System.Configuration, 但是在代码中使用ConfigurationManager.AppSettings[""]的时候出现当前上下文不存在ConfigurationManager的错。记得要在Project下的References中添加System.Configuration. 至于数据来源,可以自己构建或从数据库中获取。 如果有问题,希望看到的大神指点。不慎感激。要持续记笔记啦,不能懒啦。 妹子会成为最胖哒。。 注: 看到相关好博客 附地址:http://www.cnblogs.com/luxiaoxun/p/3374992.html C#中导出数据到Excel表格中 标签:case 上下 fill 导出数据 问题 页面 etc height ooxml 原文地址:http://www.cnblogs.com/erhanhan/p/7552572.html
NPOI.OOXML;
NPOI.OpenXml4Net;
NPOI.OpenXmlFormats;
Using NPOI.SS.UserModel;
Using NPOI.HSSF.UserModel; 1 public class XlsxHelper
2 {
3
4 public static string CreateXLSFile(DataTable dt)
5 {
6 HSSFWorkbook hssfworkbook = new HSSFWorkbook();
7 ISheet sheet1 = hssfworkbook.CreateSheet("table1");
8 sheet1.CreateFreezePane(1, 1, 1, 1);
9
10 for (int i=0;i10;i++)
11 {
12 sheet1.SetColumnWidth(i, 20 * 256);
13 }
14
15 int rowNum = 0;
16 IRow headRow = sheet1.CreateRow(rowNum);
17 headRow.HeightInPoints = 60;
18 ICellStyle headStyle = hssfworkbook.CreateCellStyle();
19 headStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; //居中
20 headStyle.VerticalAlignment = VerticalAlignment.Center;//垂直居中
21 headStyle.WrapText = true; //自动换行
22 /****************写入列标题*********************/
23 headRow.CreateCell(0).SetCellValue("ID");
24 headRow.CreateCell(1).SetCellValue("Name");
25 headRow.CreateCell(2).SetCellValue("Age");
26 headRow.CreateCell(3).SetCellValue("Salary");
27
28 sheet1.GetRow(0).GetCell(0).CellStyle = headStyle;
29 sheet1.GetRow(0).GetCell(1).CellStyle = headStyle;
30 sheet1.GetRow(0).GetCell(2).CellStyle = headStyle;
31 sheet1.GetRow(0).GetCell(3).CellStyle = headStyle;
32
33 /*********************写入字段值*******************/
34 ICellStyle style = hssfworkbook.CreateCellStyle();
35 style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Red.Index;
36 style.FillPattern = NPOI.SS.UserModel.FillPattern.Squares;
37 style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.Red.Index;
38 for(int kr=0;kr