gpt4 book ai didi

c# - 无法使用 C# 使用 ExcelPackage 创建带撇号的 XLSX

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:45 25 4
gpt4 key购买 nike

我正在使用 Excelpackage.codeplex.com 创建 xlsx。

当使用撇号 (') 编写字符串时,我得到一个 System.Xml.XPath.XPathException 异常。

如何使用该包编写带有 ' 的 xlsx 单元格?

private void ExportApostrphoe()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name");

dt.Rows.Add(1, "Ben");
dt.Rows.Add(2, "Joe's");
dt.Rows.Add(3, "Mike");

FileInfo newFile = new FileInfo(@"c:\1.xlsx");
using (ExcelPackage xlPackage = new ExcelPackage(newFile))
{
OfficeOpenXml.ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("Sheet1");
for (int x = 0; x < dt.Columns.Count; ++x)
{
DataColumn column = dt.Columns[x];
worksheet.Cell(1, 1 + x).Value = column.Caption;

}
for (int x = 0; x < dt.Columns.Count; ++x)
{
for (int y = 0; y < dt.Rows.Count; ++y)
{
worksheet.Cell(2 + y, 1 + x).DataType = "text";
worksheet.Cell(2 + y, 1 + x).Value = Convert.ToString(dt.Rows[y][x]);

}

}
xlPackage.Save();
}
}

最佳答案

尝试更新 ExcelCell.cs 中的以下代码搜索 XmlNode stringNode 并使用以下代码进行更新。创建一个dll。它对我有用。

 XmlNode stringNode = _xlWorksheet.xlPackage.Workbook.SharedStringsXml.SelectSingleNode(string.Format("//d:si[d:t='{0}']", System.Security.SecurityElement.Escape(Value)), _xlWorksheet.NameSpaceManager);

关于c# - 无法使用 C# 使用 ExcelPackage 创建带撇号的 XLSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13392693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com