我在 excel 文件中有图像,需要手动提取。我编写了一个程序,它对使用 Excel 2007 的用户非常有效,但不适用于 Excel 2003。
过程:用户打开 Excel 文件,将相关图像复制到剪贴板用户打开 C# 应用程序,单击从剪贴板收集图像的按钮,然后从用户那里收集其他信息。
应用程序代码非常简单。单击按钮时,将调用以下代码:
if (Clipboard.GetImage() != null)
{
pictureBox1.Width = Clipboard.GetImage().Width;
pictureBox1.Height = Clipboard.GetImage().Height;
pictureBox1.Image = Clipboard.GetImage();
//...more misc. code...
}
这与 Excel 2007 完美配合,但不适用于 Excel 2003。
我尝试了以下调试代码,但都失败了:
Clipboard.ContainsImage() >> 返回 false Clipboard.GetDataObject().GetDataPresent(DataFormats.Bitmap) >> false
一种想法是 Excel 2003“Office 剪贴板”可能会干扰?但是,MS PAINT 粘贴图像没有问题。
帮助?