0
我需要在下载的Excel中显示'0565'。在datatable中,该值为'0565',但在将数据表分配给工作表后,下载的excel显示值为'565'。这是一个我需要显示它的ID,因为它是'0565'。以下是我的代码如何使用Aspose Cells在Excel中将第一位数字显示为0(零)
DataTable dtExcelData = GetDataTableValue();
dtExcelData.TableName = psPlanNo + "Template";
var workbook = new Workbook();
var worksheet = workbook.Worksheets[0];
worksheet.Cells.ImportDataTable(dtExcelData, true, 0, 0, true,true);
worksheet.AutoFilter.Range = worksheet.Cells.FirstCell.Name + ":" + worksheet.Cells.LastCell.Name;
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=" + psPlanNo + psSuffix + ".xlsx");
worksheet.AutoFitColumns();
Aspose.Cells.Style style = worksheet.Cells["A1"].GetStyle();
style.ForegroundThemeColor = new ThemeColor(ThemeColorType.Accent1, 0);
style.Font.Color = Color.White;
style.Pattern = BackgroundType.Solid;
for (int lnColumn = 0; lnColumn <= worksheet.Cells.MaxColumn; lnColumn++)
worksheet.Cells[0, lnColumn].SetStyle(style);
Cells cells = worksheet.Cells;
Aspose.Cells.Style fontStyle = new Aspose.Cells.Style();
Aspose.Cells.Style stylefont = workbook.Styles[workbook.Styles.Add()];
stylefont.Font.Name = "Calibri";
stylefont.Font.Size = 12;
StyleFlag flag = new StyleFlag();
flag.FontName = true;
flag.FontSize = true;
cells.ApplyStyle(stylefont, flag);
using (MemoryStream memoryStream = new MemoryStream())
{
workbook.Save(memoryStream, SaveFormat.Xlsx);
memoryStream.WriteTo(Response.OutputStream);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.SuppressContent = true;
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
突出显示的行是将数据集值分配给工作表并将字符串显示为Excel中的数字。 如果我用这个代码
worksheet.Cells.ImportDataTable(dtExcelData, true, 0, 0, true,false);
我会得到“0565”,但也有一些列应是在数字格式也将被转换为文本。
是否有任何其他替代我的问题? 预先感谢
工作,我不想使用这两种技术。有没有其他解决方案? –
还有一种将所有字符串值转换为数字的方法,但它也不是很合适,但可能是您可以使用它。即worksheet.Cells.ConvertStringToNumericValue(); – shakeel
满足您要求的另一种解决方案: 您可以使用自定义格式将值设置为前导零。如Style.Custom =“0000”; – shakeel