创建Excel工作表时出现NullReferenceException [英] NullReferenceException in creating Excel worksheet
问题描述
我想填充一个Excel文件,因此我使用ExcelPackage:Office Open XML Format.但我有一个错误.我的代码:
i want to fill an excel file and so i use ExcelPackage: Office Open XML Format . but i have an error. my code:
string fileName = "DBE_BAKIM_FORMU" + ".xlsx";
FileInfo fi = new FileInfo(HttpContext.Current.Server.MapPath("~/") + fileName);
using (ExcelPackage xlPackage = new ExcelPackage(fi))
{
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];
dbeDataContext db = new dbeDataContext();
CAGRI c = (from x in db.CAGRIs where x.CagriID == ID select x).SingleOrDefault();
USER u = (from x in db.USERs where x.UserID == Convert.ToInt32(Session["user"]) select x).SingleOrDefault();
worksheet.Cell(6, 3).Value = c.TalepTarihi.ToShortDateString();
worksheet.Cell(7, 3).Value = c.TalepTuru;
worksheet.Cell(8, 3).Value = c.ModulAdi;
worksheet.Cell(9, 3).Value = c.EkranRaporAdi;
worksheet.Cell(10, 3).Value = c.VerilenSure;
worksheet.Cell(11, 4).Value = c.USER.UserName + " " + c.USER.UserSurname;
worksheet.Cell(12, 4).Value = Convert.ToString(c.USER.UserTel);
worksheet.Cell(13, 3).Value = c.Aciklama;
worksheet.Cell(16, 4).Value = u.UserName + " " + u.UserSurname;
worksheet.Cell(18, 3).Value = Convert.ToString(c.DegerlendirmeTarih);
worksheet.Cell(19, 3).Value = c.Degerlendirme;
xlPackage.Save();
}
我在这里有此错误: xlPackage.Save();
我的错误是说对象引用未设置为对象的实例.
当我取出 xlPackage.Save();
时,它可以工作并填写excel文件,但不会保存.为什么我会出现此错误?
when i take out xlPackage.Save();
, it works and fills in the excel file but it does not save.
why am i taking this error?
先谢谢了.
推荐答案
从以下位置更改ExcelWorksheet.cs的第562行:
change line 562 of ExcelWorksheet.cs from:
XmlNode pageSetup = _worksheetXml.SelectSingleNode("//d:pageSetup", NameSpaceManager);
收件人:
XmlNode pageSetup = WorksheetXml.SelectSingleNode("//d:pageSetup", NameSpaceManager);
如果尚未访问工作表,请调用公共访问器WorksheetXml而不是私有类变量来正确初始化它.
If the worksheet has not been accessed, calling the public accessor WorksheetXml instead of the private class variable initiallizes it correctly.
这篇关于创建Excel工作表时出现NullReferenceException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!