C# 處理 Excel 的套件推薦 Epplus,不過他只支援 Excel 2007 以上版本,
如果需要同時支援 Excel 2007 和 2003 版本可以用 NPOI,
給你參考看看
https://dotblogs.com.tw/shadow/archive/2012/07/13/73385.aspx
出現錯誤,請問該如何修改?
您會用 Nuget 嗎?
用 Nuget 安裝 Epplus
要怎麼用,麻煩教一下,謝謝~
請問是這樣嗎~
我想要用程式寫Excel的欄位、工作表、檔名,
麻煩教一下~謝謝~
先講匯出,通常會先做一個範本,範本內 欄位
工作表
都先設好,然後程式讀取範本填入資料,再輸出到前端給使用者下載,下面程式碼片段你研究看看
var templatePath = Server.MapPath("~") + @"\Templates\Student.xlsx";
using (var package = new OfficeOpenXml.ExcelPackage(new FileInfo(templatePath)))
{
var worksheet = package.Workbook.Worksheets.First();
var rowIndex = 2;
var celIndex = 1;
foreach (var student in studentList)
{
worksheet.Cells[rowIndex, celIndex++].Value = student.Id;
worksheet.Cells[rowIndex, celIndex++].Value = student.Name;
rowIndex += 1;
celIndex = 1;
}
worksheet.Cells.AutoFitColumns();
var fileStream = new MemoryStream();
package.SaveAs(fileStream);
fileStream.Position = 0;
var output = new byte[(int)fileStream.Length];
fileStream.Read(output, 0, output.Length);
//將檔案輸出到瀏覽器
context.Response.Clear();
context.Response.AddHeader(
"Content-Length", output.Length.ToString());
context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader(
"content-disposition",
"attachment; filename=" + fileName);
context.Response.OutputStream.Write(output, 0, output.Length);
context.Response.Flush();
context.Response.End();
}
請問您的程式碼應該要放在哪個地方?
因為我找不到可以收留它的位置> <
裡面好像都用HTML
跟您確認一下問題,我可能誤會您的提問了
您是要做線上版的Excel編輯功能嗎?
這裡說的Epplus,NPOI都是沒有編輯畫面的,功能是將資料庫的資料寫入到Excel讓使用者下載檔案。
然後這些程式要放在Webform的.cs檔裡面。
對唷~
我要編輯功能唷~
UI介面我沒有經驗~
類似的套件有用過 handsontable,不過沒有深入研究。