为什么使用Excelpackage?
ExcelPackage的优势:解放了在程序中设置格式的弊端,总体原理为:在相应路径下放置一个Excel模板,执行导出操作时按照模板样式在指定行插入数据,构建出一个模板样式的新Excel。
excelpackage的官网:http://excelpackage.codeplex.com/,里面有所需的.dll文件和demo程序。
在程序中使用期功能时,using OfficeOpenXml; 指令一定要加上;
在网上的代码案列都是很多要么断章取义,要么就是代码一大堆,不舒服。
写数据往Excel中:
以下几步:
1.新建一个xlsx文件
2.使用using(ExcelPackage .....){}代码块
3.在上述代码块中,得到一个workshoot;
4.利用workshoot.Cells[,].value=""可以在特定格子里写入自己的内容;
5.写完记得保存,package.save();
这样就完了。(更多的Excel样式问题和高级的外观功能以后再讲)
staticvoid Main(string[] args)
{
Write();
}
static void Write()
{
FileInfo newFile = new FileInfo(@"d:\test.xlsx");
if (newFile.Exists)
{
newFile.Delete();
newFile = newFileInfo(@"d:\test.xlsx");
}
using (ExcelPackage package = new ExcelPackage(newFile))
{
ExcelWorksheet worksheet =package.Workbook.Worksheets.Add("test");
worksheet.Cells[1, 1].Value ="名称";
worksheet.Cells[1, 2].Value ="价格";
worksheet.Cells[1, 3].Value ="销量";
worksheet.Cells[2, 1].Value ="大米";
worksheet.Cells[2, 2].Value =56;
worksheet.Cells[2, 3].Value =100;
worksheet.Cells[3, 1].Value ="玉米";
worksheet.Cells[3, 2].Value =45;
worksheet.Cells[3, 3].Value =150;
worksheet.Cells[4, 1].Value ="小米";
worksheet.Cells[4, 2].Value =38;
worksheet.Cells[4, 3].Value =130;
worksheet.Cells[5, 1].Value ="糯米";
worksheet.Cells[5, 2].Value =22;
worksheet.Cells[5, 3].Value =200;
package.Save();
}
}
读数据:
和写数据类似,区别就是把原来的赋值语句修改成为取值语句就好了。
string tmp = worksheet.Cells[1,1].Text;
得到的是字符串;
样式问题: sheet.Cells["A2:C5"].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin,Color.Black);
可以在A2:C5的矩形区域画一个黑色、细线框框;