gpt4 book ai didi

c# - 阻止 Office Interop 复制/粘贴忽略区域设置

转载 作者:行者123 更新时间:2023-11-30 18:27:17 25 4
gpt4 key购买 nike

我正在使用 Office Interop(无法使用 OOXML)并希望将表格从 Excel 文件复制到 RTF 文件中。

所以首先我在 Excel 中复制表格

excelSheet = excelBook.Worksheets[1];
excelBook.CheckCompatibility = false;
excelRange = excelSheet.Range["B12:F21"];
excelRange.Copy();

然后在 Word 中(打开 RTF)粘贴

wordApplication.Selection.Find.Execute(placeholder);
WordRange range = wordApplication.Selection.Range;
if (range.Text.Contains(placeholder))
range.Paste();

占位符包含我用作代码的文本,以知道将其粘贴到何处

现在在那个 excel 表中,我将单元格格式化为货币,因此它们包含 3,56 € 形式的数据,但在粘贴之后,我在 Word(RTF 文件)中的内容是 3.56 $ - 注意从 ,. 和从 $

但是,如果我手动执行所有这些操作(在 Excel 中打开 Excel 文件,从表格中选择所有单元格,按 ctrl+C,在 Word 中打开 RTF,定位光标并按 ctrl+V - 我得到了正确的值(欧元)。

有什么想法可以像手动一样以编程方式完成这项工作吗?

最佳答案

所以我找到了一些解决方法 - 感谢@JensKloster 的想法

粘贴表格后(如问题所示),我将 rtf 作为文本加载到变量中并应用以下内容:

cnt = Regex.Replace(cnt, @"(?<main>\d+)\.(?<decimals>\d{2,3})", "${main},${decimals}").Replace("$", "€");

这个接缝可以完成这项工作(至少目前我发现当前使用的 rtf 模板没有问题 - 尽管 future 可能会很容易出现问题

等待更聪明的人给我更好的选择,这将成为答案

关于c# - 阻止 Office Interop 复制/粘贴忽略区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com