先到NuGet套件管理員下載安裝EPPlus
using OfficeOpenXml; using OfficeOpenXml.Style; using System.Drawing; using System.IO; namespace EPPlusDemo { class Program { static void Main(string[] args) { //檔案路徑 string filePath = @"C:\csharp\ExcelTest.xlsx"; //檢查檔案是否存在,存在則刪除 if (File.Exists(filePath)) { File.Delete(filePath); } //建立ExcelPackge物件 using (ExcelPackage p = new ExcelPackage()) { //建立test1工作表 ExcelWorksheet sheet = p.Workbook.Worksheets.Add("test1"); //用Row Col表示位置 sheet.Cells[1, 1].Value = "標題一"; //用Excel欄位表示位置 sheet.Cells["B1"].Value = "欄位二"; for (int i = 3; i <= 5; i++) { //From Row,From Col,ToRow,To Col表示範圍 sheet.Cells[1, 3, 1, 5].Value = "欄位" + i; } //寫值 for (int i = 2; i <= 5; i++) { for (int j = 1; j <= 5; j++) { sheet.Cells[i, j].Value = $"[{i},{j}]"; } } //設定框線 sheet.Cells[1, 1, 5, 5].Style.Border.Top.Style = ExcelBorderStyle.Thin; sheet.Cells[1, 1, 5, 5].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; sheet.Cells[1, 1, 5, 5].Style.Border.Left.Style = ExcelBorderStyle.Thin; sheet.Cells[1, 1, 5, 5].Style.Border.Right.Style = ExcelBorderStyle.Thin; //標題背景顏色 ExcelRange header = sheet.Cells["A1:E1"]; header.Style.Fill.PatternType = ExcelFillStyle.Solid; header.Style.Fill.BackgroundColor.SetColor(Color.LightGreen); using (FileStream fileOutput = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { //存檔 p.SaveAs(fileOutput); } } } } }
除了框線與顏色設定外,可設定的項目還有很多,例如合併儲存格,字型,輸入公式等等。
附上EPPlus官網。
沒有留言:
張貼留言