最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

OpenXML Power Tools: BuildDocument Method Failing - Stack Overflow

programmeradmin1浏览0评论

I am using the OpenXML Power Tools to perform some transformations in Word. My goal is to combine some Word document templates, so I started looking into the BuildDocument method. My code looks like this:

Dim SourceList As New List(Of Source)
For Each DocumentPath As String In DocumentPaths
    SourceList.Add(New Source(New WmlDocument(DocumentPath), True))
Next
DocumentBuilder.BuildDocument(SourceList, NewFilePath)

The code initially failed because of the obsolete Close calls, but after removing them in the Power Tools code I am now getting an exception with this description:

Not an open XML Document

Am I missing something? It seems like I followed the author's instructions for how to set it up, pictured below from this blog post. The file paths were verified to be Word documents, and the same error is thrown with a single hard-coded file path as well.

I am using the OpenXML Power Tools to perform some transformations in Word. My goal is to combine some Word document templates, so I started looking into the BuildDocument method. My code looks like this:

Dim SourceList As New List(Of Source)
For Each DocumentPath As String In DocumentPaths
    SourceList.Add(New Source(New WmlDocument(DocumentPath), True))
Next
DocumentBuilder.BuildDocument(SourceList, NewFilePath)

The code initially failed because of the obsolete Close calls, but after removing them in the Power Tools code I am now getting an exception with this description:

Not an open XML Document

Am I missing something? It seems like I followed the author's instructions for how to set it up, pictured below from this blog post. The file paths were verified to be Word documents, and the same error is thrown with a single hard-coded file path as well.

Share Improve this question asked Feb 10 at 23:47 JoshJosh 522 silver badges6 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

I ended up figuring out the root issue. The newer versions of OpenXML seem to be incompatible with Power Tools. The simple way to fix it is to only bring in Power Tools and let it grab the version of OpenXML it prefers rather than installing OpenXML first.

This was using NuGet in Visual Studio.

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>