【发布时间】:2019-08-12 09:07:09
【问题描述】:
我有一个 StringBuilder 对象,它存储一个制表符分隔的文本,我想将它导入 Excel 工作表。在我的应用程序中,它可以通过两种方式实现。从对话框中可以选择将文本复制到剪贴板(然后他/她可以打开一个新的 Excel 工作表并简单地粘贴到 Excel 中)或将其直接保存到 Excel 工作簿。第一个选项工作得很好,我想直接实现保存的行为。
我在互联网上找到的唯一方法是将文本的每一行存储到字符串数组中,然后数组的每个索引将是 Excel 工作表中的新行,因此我可以通过迭代数组来写入每一行。
for (int i = 0; i < exportStrings.Count; i++)
{
Excel.Range currentRange = (Excel.Range)xlWsh.Cells[i + 1, 1];
currentRange.Value = exportStrings[i];
}
但是它会导致第一个选项出现问题。由于文本现在存储为字符串数组,因此我无法轻松地将其复制到剪贴板。这就是为什么我决定将我的文本存储为字符串生成器。我还尝试将文本写入 Excel 工作表中的第一个单元格,(因为当我在第一个选项中手动将文本粘贴到 Excel 工作表中的第一个单元格时它可以工作)但它无法识别新行字符。
Excel.Range currentRange = (Excel.Range)xlWsh.Cells[1, 1];
currentRange.Value2 = exportStrings.ToString();
知道如何使用 stringbuilder 来完成吗?或者我怎样才能让它识别换行符?
【问题讨论】:
-
如何将您的文本输入
StringBuilder? -
@trailmax stringbuilder.AppendLine(nextRow);