gpt4 book ai didi

C# 将剪贴板内容粘贴到 Excel 工作表中

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

正如标题所说,我尝试将剪贴板中的内容实际粘贴到 Excel 中。

我有以下代码:

Clipboard.SetText(html);
sheet.Range("A1").Value = Clipboard.GetText();

实际上,变量 html 包含一个 html 代码文件,当我这样做时,我实际上只将 html 内容粘贴到范围中,但是,如果我打开 Excel 并手动执行,选择性粘贴...我可以粘贴 html 代码,但它将代码转换为真正的表格而不是 html 代码,这是我想要的真实结果,无需手动完成。

Excel.Range.Copy() paste with Clipboard.GetText()

另一种方式是:

foreach (Excel.Worksheet sheet in workbook.Sheets)
{
foreach (Excel.Shape shape in sheet.Shapes)
{
Clipboard.SetText(html);

//doesn't work:
sheet.Range("A1").Value = sheet.PasteSpecial(Clipboard.GetText());

sheet.PasteSpecial(Clipboard.GetText()); //throws error
}
}

但是这种方式也行不通。我可以使用 html -> 图像并粘贴图像,但实际值应该是可访问的,而不是图片。

希望有大佬能说说怎么解决。

谢谢。

最佳答案

您可以尝试使用 SetData 而不是 SetText:

 Clipboard.SetData(DataFormats.Html, html);

将字符串复制到剪贴板并将其标记为 HTML(如果这在您的情况下不起作用,SetText 可能没问题)。

针对您希望插入的单元格范围调用 PasteSpecial,考虑到您的评论:

ActiveSheet.Range("A1").PasteSpecial(
Excel.Enums.XlPasteType.xlPasteAll,
Excel.Enums.Xl‌​PasteSpecialOperation.xlPasteSpecialOperationNone,
false, false);

请注意,通过使用 Value 属性为单元格分配新值 never 复制任何格式等。

关于C# 将剪贴板内容粘贴到 Excel 工作表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15654641/

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