C# 如何以文本格式从DataTable导出到Excel文件(即使有数字)
我使用以下过程从数据表创建Excel电子表格:C# 如何以文本格式从DataTable导出到Excel文件(即使有数字),c#,asp.net,excel,C#,Asp.net,Excel,我使用以下过程从数据表创建Excel电子表格: protected void UploadDataTableToExcel(DataTable dtEmp, string filename) { string attachment = "attachment; filename=" + filename; Response.ClearContent(); Response.AddHeader("content-disposition
protected void UploadDataTableToExcel(DataTable dtEmp, string filename)
{
string attachment = "attachment; filename=" + filename;
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/vnd.ms-excel";
string tab = string.Empty;
foreach (DataColumn dtcol in dtEmp.Columns)
{
Response.Write(tab + dtcol.ColumnName);
tab = "\t";
}
Response.Write("\n");
foreach (DataRow dr in dtEmp.Rows)
{
tab = "";
for (int j = 0; j < dtEmp.Columns.Count; j++)
{
Response.Write(tab + Convert.ToString(dr[j]));
tab = "\t";
}
Response.Write("\n");
}
Response.End();
}
protected void UploadDataTableToExcel(DataTable dtEmp,字符串文件名)
{
string attachment=“附件;文件名=“+filename;
Response.ClearContent();
AddHeader(“内容处置”,附件);
Response.ContentType=“application/vnd.ms excel”;
string tab=string.Empty;
foreach(数据列dtEmp.Columns中的数据列dtcol)
{
Response.Write(tab+dtcol.ColumnName);
tab=“\t”;
}
响应。写入(“\n”);
foreach(数据行dr在dtEmp.Rows中)
{
tab=“”;
对于(int j=0;j
它工作正常,除非单元格只有数字。例如:
- 此“696906202223401504”变为“6.96902E+18”
- 此“076854957”变为“76854957”
我希望Excel电子表格将每一列保留为文本,而不是将它们转换为整数我认为这里的问题是Excel端而不是C端…@m1Lb4nKs我同意。。。但是有一种方法可以告诉excel使用哪种单元格格式查看,而不是发送excel
“0123”
,您可以发送它“=”0123“
,然后excel将在单元格中显示0123
,尽管单元格中存储的实际数据将是=”0123“
@m1Lb4nKs刚刚尝试过,但它没有工作。。。如有其他想法,将不胜感激