為什么使用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的矩形區域畫一個黑色、細線框框;
---------------------------------------------------------------------------------------------------------------
增加樣式:
sheet.Cells["A2:C5"].Style.Font.Bold = true; //指定區域設置字體加粗
sheet.Cells["A2:C5"].Style.Font.Color.SetColor(Color.Green); //指定區域設置字體顏色
sheet.Cells["A2:C5"].Style.Fill.PatternType = ExcelFillStyle.Solid; //指定區域設置圖案類型 --下一步設置背景顏色的前置條件
sheet.Cells["A2:C5"].Style.Fill.BackgroundColor.SetColor(Color.Blue); //指定區域設置背景顏色
sheet.Cells["A2:C5"].Merge = true; //指定區域合並
————————————————
原文鏈接:https://blog.csdn.net/mengyue000/article/details/77448183