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

本文关键字:数据 输入 excel c#excel 何使用 应用程序 | 更新日期: 2023-09-27 18:25:49

我想在excel中输入数据。在这里,我在输入一个有一些前导零es的数据时遇到了问题。例如:

我想在excel中输入024[零二四],我的数据表中有这些数据。但在excel生成中,它显示为24

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

在此之前,您可以将单元格格式设置为TEXT。因为你毕竟是在尝试存储文本"024"。同样,如果你的所有数据都是3位数,你可以使用特定的数字格式,比如"000"。

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

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

之前添加撇号将解决此问题。

这将指导excel将单元格视为文本而非数字。

'024

将输出

 024

如果您使用的是一个DataTable,您需要获取另一个DataTable,然后您需要遍历数据表中的整个单元格,并在单元格文本前加上空格,即' 。我们不能修改同一个表中的行,因为它会抛出一个异常,说"Collection was Modified"。我们必须获取一个新的数据表。

请考虑以下代码。

    //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); 
                }

我们可以将这个更新的表绑定到数据网格,这样它就可以用于Excel转换。

我找到了一种方法。我们可以给出一个我们想要实现的Excel公式,而不是在SQL查询或对值执行任何操作。

例如

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

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