【发布时间】:2019-08-23 05:22:44
【问题描述】:
如何在未安装 Office 365 的计算机上使用 Office 365 COM 组件?
我有一个将数据从 SQL 服务器导入 Excel 的系统,实际上非常简单。也许唯一的问题是我使用循环来分配要放置数据的单元格。
为什么我断定我需要 Office 365 组件?
首先我使用了一台装有office 365的电脑,我可以将数据导入到excel表格中。
之后,我在没有 Office 365 的机器上重新编译了相同的代码,我的 Excel 表上只能得到几行。有趣的是,这些行是一致的,仅出现在第 77 行,但数据的导入方式与其他行相同。
我也试过空白文档,看看是不是格式有问题,但是导入还是不成功。
我也试过把excel类型从.xlsx改成.xls,结果还是不成功。
然后我在没有office 365的电脑上重新编译了代码,然后在里面安装了office 365,代码现在可以正常工作了!在同一台电脑上卸载office 365后,代码就失效了。
我尝试复制并粘贴我认为有助于成功上传的 Office 365 组件 (MSO.DLL),该组件位于
C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\OFFICE16.
在没有office 365的电脑上使用时,代码不起作用。
如果你想知道我在导入期间有什么样的代码,我有这个代码:
For e = 0 To dt.Columns.Count - 1
objWorksheet.Cells(MyRow1, MyColumn) = dt.Rows(a).Item(e).ToString
MyColumn = MyColumn + 1
Next
我对如何解决这个问题没有任何想法,我很感谢大家提出的任何建议。
【问题讨论】:
-
导入的意思并不完全清楚。构建可由 Excel 或任何其他数量的程序读取的 .CSV 文件相当容易。如果您想像现在这样操作 Excel 对象模型,您需要安装 Office 或至少安装 Excel。 Microsoft 确实为其文件格式制定了规范,以便您可以编写代码以另存为 .XLS 或 .XLSX,但这需要大量工作。以 .CSV 格式编写并不难。