【问题标题】:create word document dynamically in vb.net在 vb.net 中动态创建 word 文档
【发布时间】:2014-03-11 08:36:45
【问题描述】:

我需要在运行时使用 vb.net 创建一个 word 文档。我怎样才能做到这一点?我之前创建了 excel 文件,但不知道如何将它用于 word 。这是我用于创建 Excel 文件的内容:

 Sub export_to_excel(recordCount As Integer, DataArray(,) As Object, fileName_Location As String)

    Dim oExcel As Object
    Dim oBook As Object
    Dim oSheet As Object

    ''Start a new workbook in Excel.
    oExcel = CreateObject("Excel.Application")
    oBook = oExcel.Workbooks.Add

    ''Add headers to the worksheet on row 1.
    oSheet = oBook.Worksheets(1)
    '  For i = 0 To headers.Count - 1
    oSheet.Range("A1").Value = "AAA"
    oSheet.Range("B1").Value = "BBB"
    oSheet.Range("C1").Value = "CCC"
    oSheet.Range("A1:C1").Font.Bold = True
    'Next


    ''Transfer the array to the worksheet starting at cell A2.
    oSheet.Range("A2").Resize(recordCount, 3).Value = DataArray

    ''Save the Workbook and quit Excel.
    oBook.SaveAs(fileName_Location)
    oSheet = Nothing
    oBook = Nothing
    oExcel.Quit()
    oExcel = Nothing
    GC.Collect()


End Sub

我怎样才能使用类似这样的代码来创建word文件?

【问题讨论】:

  • 不使用互操作,您没有太多选择。也许看看 Aspose 库:aspose.com/.net/word-component.aspx
  • 您在示例中使用了互操作,但您说您不想使用互操作?是哪一个?
  • @Ahmed ilyas:与 OpenXML SDK 相比,Aspose 非常昂贵
  • 这只是一个建议....有很多肯定的,但这是经验中的一个建议。或者,原始的 COM 方法将是免费的并且可以工作,但 OP 不想走这条路,因此给出了一个替代方案,特别是在企业行业中使用

标签: vb.net ms-word


【解决方案1】:

有几种方法可以做到这一点。

但首先,您在示例中使用了互操作,您可以对 word 执行相同操作。 MSDN 上有一个很好的例子

如果您不需要任何字体或任何东西,您可以随时写入文本文件并使用扩展名 .doc,这样可以毫无问题地用 word 打开它。

第三个也是最好的解决方案是使用 Open XML,它是处理办公文档的新方法(扩展 docX)。这种格式只是普通的 xml,您可以将其作为纯文本或 xml 进行操作,或者您可以使用开放的 xml sdk,它为您提供了通过现代界面操作单词的出色方式。这适用于 Office 2007 及更高版本。文档位于MSDN

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多