从asp.net导出到Excel时,仅将Excel中的1列格式化为强制文本,并将所有其他列保留为数字
我必须下载一个包含10列的Excel文件,在其中一列中,我得到了706918000007作为Excel中的“7.06969E+13”,当我添加时,所有内容都正确显示出来从asp.net导出到Excel时,仅将Excel中的1列格式化为强制文本,并将所有其他列保留为数字,asp.net,excel,Asp.net,Excel,我必须下载一个包含10列的Excel文件,在其中一列中,我得到了706918000007作为Excel中的“7.06969E+13”,当我添加时,所有内容都正确显示出来 sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:o
sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns=\"http://www.w3.org/TR/REC-html40\"> <head><style> td {mso-number-format:"\@";} </style><meta http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1252\"><!--[if gte mso 9]> <xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + worksheet_name + "</x:Name><x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head> <body>");
sbResponseString.Append(“td{mso编号格式:\@”}”);
但我不想将所有其他列转换为文本,因为我必须找到其他列的总和。因此,如何将Excel中的一列格式化为文本非常简单,我只在要转换为字符串的列中添加了一个类
DataGrid dataExportExcel = new DataGrid();
dataExportExcel.DataSource = ds.Tables[0];
dataExportExcel.DataBind();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dataExportExcel.Items[i].Cells[5].Attributes.Add("class", "Invoice")
}
DataGrid dataExportExcel=newdatagrid();
dataExportExcel.DataSource=ds.Tables[0];
dataExportExcel.DataBind();
对于(int i=0;i
然后修改了代码
sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns=\"http://www.w3.org/TR/REC-html40\"> <head><style> .Invoice {mso-number-format:\'@'}</style><meta http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1252\"><!--[if gte mso 9]> <xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + worksheet_name + "</x:Name><x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head> <body>");
sbResponseString.Append(“.Invoice{mso编号格式:\'@'}”);
简单地为Invoice类添加了单独的样式