C# Excel Datetable Spire.Xls 笔记
关于Excel的使用
使用第三方库 Spire
using Spire.Xls;
Excel的导入和导出
导入
//创建Workbook对象并加载Excel文档
string path="Excel路径";
Workbook workbook = new Workbook();
workbook.LoadFromFile(path, ExcelVersion.Version2013);
//获取第一张sheet
Worksheet sheet = workbook.Worksheets[0];
导出
Excel
//保存文件
workbook.SaveToFile("aa.xlsx", ExcelVersion.Version2013);
sheet.SaveToPdf(path);
单元格的处理
单元格表示
//单个单元格
sheet.Range[1, 7]
sheet.Range["A1"]
//多个单元格
sheet.Range[7, 22, 12, 28].FormulaR1C1
sheet.Range["M4:P4"].FormulaR1C1
赋值
sheet.Range[1, 7].Value2 = value;
sheet.Range[1, 3] = sheet.Range[1, 9];
复制
sheet.Copy(sheet.Range[4, 9, 4, 12], sheet.Range[4, 3, 4, 6], true);
公式
RC写法:以当前单元格为(0,0),向下、右为正,反之为负
//【公式】单个 V4=U4-G4
sheet.Range["V4"].FormulaR1C1 = "=U4-G4";//单个
sheet.Range[7, 22, 12, 22].FormulaR1C1 = "=RC[-1]-RC[-15]";//列
sheet.Range["M4:P4"].FormulaR1C1 = "=RC[-4]-RC[-10]";//列
宽高自适应
//设置行高、列宽为自适应(应用于整个工作表)
sheet.AllocatedRange.AutoFitRows();
sheet.AllocatedRange.AutoFitColumns();
设置边框
string border = "A4:J" + sheet.Rows.Count();
CellRange range = sheet.Range[border];
range.BorderInside(LineStyleType.Thin);
range.BorderAround(LineStyleType.Thin);
关于DateTable的处理
Excel填充DataTable
//设置range范围
CellRange range = sheet.Range[sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn];
//输出数据, 同时输出列名以及公式值
DataTable dt = sheet.ExportDataTable(range, true, true);
DataTable填充Excel
//从第一行第一列开始插入数据,true代表数据包含列名
sheet.InsertDataTable(dt, true, 1, 1);

浙公网安备 33010602011771号