如何使用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 = " "+oldVal; row[i] = newVal; } dtUpdated.ImportRow(row); }
我们可以将这个更新的表绑定到datagrid,以便它对Excel转换很有用。
我find了一个办法。 而不是在SQL查询中做任何事情,或者我们可以给我们任何我们想要实现的Excel公式的值。
例如。
在这里我想在Excel中有024。 我所做的是我编辑查询,并更改值,使它现在看起来像在Excel中的公式。 所以,当它进入excel将被视为excel公式
string strf = "=CONCATENATE(" + 024 + ")";