1

我需要阅读 excel 表的内容,写入并允许编辑和重新导入。我遇到的问题是,当用户在工作表的单元格中输入数字时,这些数字在背面被视为 SharedString 表上的索引,这是我不需要的效果。我想做的是在继续阅读之前强制将工作表中的单元格格式化为文本。我相信这样,我确信我的数字将被视为字符串。请问我该怎么做?

我会很感激使用 OPENXML 库来解决这个问题的例子。

4

2 回答 2

2

确定您从 Excel 中检索的内容是字符串的唯一方法是调用 Range.Text(它将根据当前格式返回显示的文本),只能使用单个单元格检索。

但是,如果您想制作文本格式,则只需调用:

Cells.NumberFormat = "@"

作为我上面所说的更多细节......更改格式不会改变单元格的 .Value 。值通常是字符串、日期或双精度值,具体取决于它们的数字格式和内容。


编辑
由于您的最后评论,我为您做了一些额外的研究。但是,这没有经过我的测试。如果这对您没有帮助,我建议更新您的问题,以显示您为帮助获得社区更多响应所做的努力。

您应该能够利用此答案中列出的步骤(如果对您有帮助,请务必投赞成票)。

唯一的变化,您应该能够跳过创建NumberingFormat。当您看到代码时: cellFormat.NumberFormatId = nf2decimal.NumberFormatId;而不是 nf2decimal... 只需使用 49。所以... cellFormat.NumberFormatId = 49;49 应该对应于 @ 的预定义数字格式,根据此来源

于 2012-10-19T20:07:11.660 回答
1

像这样在 VBA 中:

Cells.Select
Selection.NumberFormat = "@"
于 2012-10-19T20:04:56.177 回答