C#EPPlus OpenOfficeXml格式单元格
我正在使用EPPlus库创建excel文件。 我有一些列显示字符串值,但这些值正在作为日期的数值进行处理。我想将单元格的格式设置为将值作为字符串而不是日期 例如: 原值:1171-2,1.1,1.2,1.3C#EPPlus OpenOfficeXml格式单元格,c#,excel,format,epplus,C#,Excel,Format,Epplus,我正在使用EPPlus库创建excel文件。 我有一些列显示字符串值,但这些值正在作为日期的数值进行处理。我想将单元格的格式设置为将值作为字符串而不是日期 例如: 原值:1171-2,1.1,1.2,1.3 Excel值:-2662294273642742795 我正在使用: excelWorksheet.Cells[row, column].Style.Numberformat.Format = "@"; 但它不起作用 如何格式化单元格以显示原始值。格式“@”指示Excel将值视为文本,而不
Excel值:-2662294273642742795 我正在使用:
excelWorksheet.Cells[row, column].Style.Numberformat.Format = "@";
但它不起作用
如何格式化单元格以显示原始值。格式“@”指示Excel将值视为文本,而不是数字
在没有看到您的代码的情况下,我无法解释为什么excel会像您所显示的那样转换您的值,因此这里有一个用于设置单元格格式的代码示例:
using (var xlsx = File.Create("Text.xlsx"))
using (var pkg = new ExcelPackage())
{
var ws = pkg.Workbook.Worksheets.Add("Sheet1");
var r = 0;
ws.Cells[++r, 1].Value = "Values";
ws.Cells[++r, 1].Value = 1171.2;
ws.Cells[++r, 1].Value = 1.1;
ws.Cells[++r, 1].Value = 1.2;
ws.Cells[++r, 1].Value = 1.3;
ws.Column(1).Style.Numberformat.Format = "General"; // Default
//ws.Column(1).Style.Numberformat.Format = "0.00"; // Numeric with fixed decimals
//ws.Column(1).Style.Numberformat.Format = "@"; // Text
pkg.SaveAs(xlsx);
}
“@”格式指示Excel将值视为文本,而不是数字
在没有看到您的代码的情况下,我无法解释为什么excel会像您所显示的那样转换您的值,因此这里有一个用于设置单元格格式的代码示例:
using (var xlsx = File.Create("Text.xlsx"))
using (var pkg = new ExcelPackage())
{
var ws = pkg.Workbook.Worksheets.Add("Sheet1");
var r = 0;
ws.Cells[++r, 1].Value = "Values";
ws.Cells[++r, 1].Value = 1171.2;
ws.Cells[++r, 1].Value = 1.1;
ws.Cells[++r, 1].Value = 1.2;
ws.Cells[++r, 1].Value = 1.3;
ws.Column(1).Style.Numberformat.Format = "General"; // Default
//ws.Column(1).Style.Numberformat.Format = "0.00"; // Numeric with fixed decimals
//ws.Column(1).Style.Numberformat.Format = "@"; // Text
pkg.SaveAs(xlsx);
}