簡體   English   中英

使用ExcelPackage從Excel模板讀取並寫入Excel

[英]Using ExcelPackage to Read from Excel Template and Write to Excel

我正在使用以下代碼:

var assembly =          Assembly.GetExecutingAssembly();
        Stream streamToTemplete=assembly.GetManifestResourceStream("DailyAuction.xltx");
        Stream streamToOutput = assembly.GetManifestResourceStream("dailyAuctionEmail.xls");


        //using (ExcelPackage excelPackage = new ExcelPackage(newFile, templateFile))

        using(streamToTemplete)
        using (streamToOutput)
        {

            using (ExcelPackage excelPackage = new ExcelPackage(streamToOutput, streamToTemplete))
            {

                ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets["Daily Auction"];
                int startRow = 4;
                int row = startRow;
                foreach (DailyEmail dailyEmail in listDailyEmail)                                                                                                                           //iterate through all the rows in the list
                {
                    worksheet.Cells[row, 1].Value = dailyEmail.As_At.ToString("dd-MMM-yy HH:mm");
                    worksheet.Cells[row, 2].Value = dailyEmail.Auction_Date.ToString("dd-MMM-yy");

                }
                excelPackage.Save();
            }
        }

        var attachment = new Attachment(streamToOutput, new ContentType("application/vnd.ms-excel"));

但是,我收到一條錯誤消息,說streamToTemplate和streamToOutput為null。 似乎是什么問題? 另外,其余代碼是否可以正常工作?

檢查兩個Excel文件上的屬性。 構建操作應為“嵌入式資源”。

另外,您提供給GetManifestResource流的字符串看起來也很簡單。 該字符串應為:

<defaultNamespace>.<folderName>.<fileName> MSDN文章

該答案建議調用GetManifestResourceNames,然后使用調試器查看資源名稱。 在尋找自己的路途時,似乎是一個不錯的路要走。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM