在链接到数据表

时间:2018-02-14 06:03:52

标签: c# vsto

我有一个填充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);

它正在做我想要的,但我不认为这是要走的路。

1 个答案:

答案 0 :(得分:0)

如果您知道需要多少前导零,则可以使用该格式对列进行格式化。

.NumberFormat = "000";

然后,该列仍将被评估为数字。