如何使用c#excel应用程序将前导零的数据input到excel中

我想input数据到Excel中。 在这里,我input一个数据,有一些领先的零es有问题。 例如:

我想在excel中input024 [zero two four],这个数据是我的数据表中的。 但在excel生成它被显示为24

您可以将单元格格式设置为TEXT。 因为你毕竟试图存储文本“024”。 同样,如果您的所有数据均为3位数字,则可以使用特定的数字格式,例如“000”。

cellReference.NumberFormat = "@"; cellReference.Value = "024"; 

要么

 cellReference.NumberFormat = "000"; cellReference.Value = "024"; 

之前添加一个撇号将解决这个问题。

这将直接把excel作为一个文本而不是数字来对待单元格。

 '024 

会输出

  024 

如果你正在使用一个DataTable,你需要拿另外一个DataTable,然后你需要遍历数据表中的整个单元格,并在空格前面加上“&nbsp”;。我们不能修改同一个表中的行,因为它会抛出一个例外说“收集已修改”。我们必须采取一个新的数据表。

考虑下面的代码。

  //To get the result with leading zero's in excel this code is written. DataTable dtUpdated=new DataTable(); //This gives similar schema to the new datatable dtUpdated = dtReports.Clone(); foreach (DataRow row in dtReports.Rows) { for (int i = 0; i < dtReports.Columns.Count; i++) { string oldVal = row[i].ToString(); string newVal = "&nbsp;"+oldVal; row[i] = newVal; } dtUpdated.ImportRow(row); } 

我们可以将这个更新的表绑定到datagrid,以便它对Excel转换很有用。

我find了一个办法。 而不是在SQL查询中做任何事情,或者我们可以给我们任何我们想要实现的Excel公式的值。

例如。

在这里我想在Excel中有024。 我所做的是我编辑查询,并更改值,使它现在看起来像在Excel中的公式。 所以,当它进入excel将被视为excel公式

 string strf = "=CONCATENATE(" + 024 + ")";