C#excelpackage讀寫Excel文件


為什么使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM