我正在将数据从数据库导出到 C# 中的 excel,它有一个电话号码列,例如 +22200073886。如何在不将数字转换为科学计数法的情况下导出到 excel?
var csv = new StringBuilder();
string strContent = "";
int counter = DS.Tables[0].Columns.Count;
// Build the file content
for (int i = 0; i <= DS.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < counter; j++)
{
if (i == 0)
{
strContent += DS.Tables[0].Columns[j].ToString() + ",";
}
else
{
strContent += DS.Tables[0].Rows[i - 1][j].ToString() + ",";
}
}
csv.AppendLine(strContent.Substring(0, strContent.Length - 1));
strContent = "";
}
File.WriteAllText(new Page().Server.MapPath(filePath), csv.ToString());
最佳答案
首先,您不能保存扩展名为 XLS 的 CSV 文件。您必须导出真正的 Excel 文件,如 xls 或 xlsx,使用 OpenXML或可从 C# 使用的任何其他 Excel 库。
然后,您必须将单元格中的数据保存为字符串或将单元格的数字格式设置为文本。文本的数字格式是"@"。代码取决于您选择的解决方案。
关于c# - 导出到 Excel - 防止电话号码在 C# 中使用科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409966/