在C#中将Excel列(或单元格)设置为文本格式?

您所在的位置:网站首页 excel中数字格式转换为文本格式怎么操作 在C#中将Excel列(或单元格)设置为文本格式?

在C#中将Excel列(或单元格)设置为文本格式?

2024-07-12 03:06| 来源: 网络整理| 查看: 265

将值从数据表复制到Excel工作表时,我丢失了前导零。 这是因为Excel可能会将值视为数字而不是文本。

我在C#中创建了工作表,并且正在复制以下值:

1myWorksheet.Cells[i + 2, j] = dtCustomers.Rows[i][j - 1].ToString();

如何将整个列或每个单元格设置为文本格式? 一个相关的问题,如何在Intellisense中强制转换myWorksheet.Cells[i + 2, j]以显示样式属性?

相关讨论 在这里看看stackoverflow.com/questions/20648149/

下面是一些代码,用于将SpreadsheetGear for .NET中的A列和C列格式化为文本,其具有类似于Excel的API-除了SpreadsheetGear的键入频率通常更高之外。弄清楚如何将其转换为与Excel / COM配合使用应该不太困难:

1234567891011IWorkbook workbook = Factory.GetWorkbook(); IRange cells = workbook.Worksheets[0].Cells; // Format column A as text. cells["A:A"].NumberFormat ="@"; // Set A2 to text with a leading '0'. cells["A2"].Value ="01234567890123456789"; // Format column C as text (SpreadsheetGear uses 0 based indexes - Excel uses 1 based indexes). cells[0, 2].EntireColumn.NumberFormat ="@"; // Set C3 to text with a leading '0'. cells[2, 2].Value ="01234567890123456789"; workbook.SaveAs(@"c:\tmp\TextFormat.xlsx", FileFormat.OpenXMLWorkbook);

免责声明:我拥有SpreadsheetGear LLC

如果在添加带有前导零的数值之前将单元格格式设置为"文本",则将保留前导零而不必通过添加撇号来使结果偏斜。如果尝试手动将前导零值添加到Excel中的默认工作表,然后将其转换为文本,则会删除前导零。如果先将单元格转换为"文本",然后添加您的值,就可以了。以编程方式执行时,适用相同的原则。

12345678910111213141516        // Pull in all the cells of the worksheet         Range cells = xlWorkBook.Worksheets[1].Cells;         // set each cell's format to Text         cells.NumberFormat ="@";         // reset horizontal alignment to the right         cells.HorizontalAlignment = XlHAlign.xlHAlignRight;         // now add values to the worksheet         for (i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3