我有一个填充Excel工作表的vsto应用程序。
首先我填充数据表。下一个功能是创建一个vsto listobject:
// Populate the sheet
XlsInterop.Excel.Worksheet worksheet = (XlsInterop.Excel.Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Add();
extendedWorksheet = Globals.Factory.GetVstoObject(worksheet);
XlsInterop.Excel.Range cell = extendedWorksheet.Range["A1"];
excelItemsList = extendedWorksheet.Controls.AddListObject(cell, sheetName);
excelItemsList.AutoSetDataBoundColumnHeaders = true;
excelItemsList.DataSource = dt;
excelItemsList.ListColumns[5].Range.NumberFormat = "@";
现在问题是在列“5”中我有005,004之类的值。在Excel中,值显示为5和4.如何确保Excel中的值显示与我的数据库中相同的值?
如果我更改我的代码:
excelItemsList.SetDataBinding(dt);
excelItemsList.ListColumns[5].Range.NumberFormat = "@";
excelItemsList.SetDataBinding(dt);
它正在做我想要的,但我不认为这是要走的路。
答案 0 :(得分:0)
如果您知道需要多少前导零,则可以使用该格式对列进行格式化。
.NumberFormat = "000";
然后,该列仍将被评估为数字。