将数据导出到c#中的单词

时间:2012-06-28 09:21:34

标签: c# winforms ms-word

下面是创建pdf来编写文件的代码。每次我调用下面的代码,它创建一个pdf文件来写入。我的问题是,是否有相同的方法导出到word或简单只需创建一个空白的doc文件,以便我可以将数据导入其中..

public void showPDf() {
  iTextSharp.text.Document doc = new iTextSharp.text.Document(
    iTextSharp.text.PageSize.A4);
  string combined = Path.Combine(txtPath.Text,".pdf");
  PdfWriter pw = PdfWriter.GetInstance(doc, new FileStream(combined, FileMode.Create));
  doc.Open();
}

4 个答案:

答案 0 :(得分:6)

<强> 1。 Interop API

可在命名空间Microsoft.Office.Interop.Word中使用。

您可以使用Word Interop COM API使用以下代码

来执行此操作
// Open a doc file.
    Application application = new Application();
    Document document = application.Documents.Open("C:\\word.doc");

    // Loop through all words in the document.
    int count = document.Words.Count;
    for (int i = 1; i <= count; i++)
    {
        // Write the word.
        string text = document.Words[i].Text;
        Console.WriteLine("Word {0} = {1}", i, text);
    }
    // Close word.
    application.Quit();

只有缺点是您必须安装办公室才能使用此功能。

<强> 2。 OpenXML的 您可以使用openxml来构建word文档,请尝试以下链接,

http://msdn.microsoft.com/en-us/library/bb264572(v=office.12).aspx

答案 1 :(得分:3)

答案 2 :(得分:1)

有一个免费的解决方案可以将数据导出到word,

http://www.codeproject.com/Articles/151789/Export-Data-to-Excel-Word-PDF-without-Automation-f

答案 3 :(得分:0)

最简单的方法是这样做:

string strPath = 
    Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);
TextWriter sw = new StreamWriter(Path.Combine(strPath,@"test.doc"));
sw.WriteLine(textBox1.Text);
sw.Close();

如果您移除strPath并移除Path.Combine,只留下new StreamWriter(Path.Combine(@"test.doc")而不是前2个字符串,则可以更轻松。