c# 导出到excel

如题所述

第1个回答  2021-02-04

可通过控件(spire.xls.dll)方法来导出Excel,分情况来导出的话,可以直接通过程序到处成excel文件,或者通过程序将数据库数据导入到Excel,具体可参考如下代码:

1. 直接导出成Excel文件:

//创建一个workbook实例

Workbook wb = new Workbook();

 

//清除默认的工作表

wb.Worksheets.Clear();

 

//添加一个工作表并指定表名

Worksheet sheet = wb.Worksheets.Add("职员表");

 

//横向合并A1到G1的单元格

sheet.Range["A1:G1"].Merge();

 

//写入数据到A1单元格,设置文字格式及对齐方式

sheet.Range["A1"].Value = "环宇汽车公司员工基本情况登记表";

sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center;

sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;

sheet.Range["A1"].Style.Font.IsBold = true;

sheet.Range["A1"].Style.Font.Size = 13F;

 

//设置第一行行高

sheet.Rows[0].RowHeight = 30F;

 

//创建一个DataTable

DataTable dt = new DataTable();

dt.Columns.Add("姓名");

dt.Columns.Add("性别");

dt.Columns.Add("出生日期");

dt.Columns.Add("学历");

dt.Columns.Add("联系电话");

dt.Columns.Add("职务");

dt.Columns.Add("工号");

dt.Rows.Add("王伟", "男", "1990年2月10日", "本科", "13524756854", "销售","0054");

dt.Rows.Add("李宁", "男", "1985年6月8日", "大专", "13259863247", "销售","0055");

dt.Rows.Add("邓家佳", "女", "1989年11月25日", "本科", "13601540352", "销售","0029");

dt.Rows.Add("杜平安", "男", "1978年4月16日", "中专", "13352014060", "保安","0036");

dt.Rows.Add("唐静", "女", "1980年1月21日", "本科", "13635401489", "店长","0010");

 

//将DataTable数据写入工作表

sheet.InsertDataTable(dt, true, 2, 1, true);

 

//设置该区域行高

sheet.Range["A2:G7"].RowHeight = 15F;

 

//设置第三列及第五列列宽

sheet.Range["A2:G7"].Columns[2].ColumnWidth = 15F;

sheet.Range["A2:G7"].Columns[4].ColumnWidth = 15F;

 

//设置网格线样式及颜色

sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium);  

sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin);

sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium);

sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black;

 

//保存为.xlsx文件

wb.SaveToFile("创建Excel.xlsx", FileFormat.Version2013);


2. 从数据库将数据导出到Excel:

//创建一个workbook对象,默认创建03版的Excel

Workbook workbook = new Workbook();

 

//指定版本信息,07及以上版本最多可以插入1048576行数据

workbook.Version = ExcelVersion.Version2013;

 

//获取第一张sheet

Worksheet sheet = workbook.Worksheets[0];

 

//得到在datatable里的数据

DataTable dt = GetDataTable();

 

//从第一行第一列开始插入数据,true代表数据包含列名

sheet.InsertDataTable(dt, true, 1, 1);

 

//保存文件

workbook.SaveToFile("ExportDataToExcel.xlsx",ExcelVersion.Version2013);

相似回答
大家正在搜