我试图以编程方式(例如* .zip)将文件插入到现有的docx文件中。
我查看了docx open库,但它没有那里的功能。
还尝试使用Microsoft.Office.Interop.Word。我创建了一个带有表格的word文档,我试图将文件插入到表格内的单元格中。
Word.Application wordApp = new Word.Application();
wordApp.Visible = false;
Word.Document doc = new Word.Document();
doc = wordApp.Documents.Open(Environment.CurrentDirectory + "\\test.docx");
doc.Tables[1].Rows[2].Cells[1].Range.InsertFile((Environment.CurrentDirectory + "\\tttt.zip"));
但它导致了一个错误:
"文件似乎已损坏"
任何人都可以有这方面的经验和帮助吗?
答案 0 :(得分:0)
经过大量的反复试验...... 函数" Range.InsertFile"实际上并没有插入文件,它会读取文本并将其附加到Range。
解决方案很简单 - 复制粘贴...
using System.Collections.Specialized;
...
...
//Copy the Filename to Clipboard (setFile function uses StringCollection)
StringCollection collection = new StringCollection();
collection.Add(Environment.CurrentDirectory + "\\MyFile.zip");
Clipboard.SetFileDropList(collection);
//Paste into the selected Range.
range.Paste();
*还有功能" PasteSpecial"它没有用(只支持特定的数据类型)。