标签: openxml-sdk

使用OpenXML SDK将RTF文件的内容嵌入到DOCX文件中

在我们旧的基于MSWord-97的系统中,我们使用COM与.doc文件交互,并嵌入OLE对象,因此嵌入的文档在父级中可见(而不是图标).

我们用一个使用OpenXML SDK的系统取而代之,因为它需要在我们的服务器上安装Word,它会生成.docx文件.但是我们仍然需要将RTF文件的内容嵌入到生成的DOCX中...具体来说,我们用文件的内容替换书签.

我在网上找到了一些例子,但它们都有所不同.当我在Word中创建一个简单的示例并查看XML时,有很多东西可以定位/显示嵌入对象的可视化表示,而嵌入本身似乎并不太可怕.最简单的方法是什么?

.net c# openxml openxml-sdk

11
推荐指数
1
解决办法
4735
查看次数

使用DocumentFormat.OpenXml dll读取.Doc文件

当我尝试使用DocumentFormat.OpenXml dll读取.doc文件时,它给出的错误为"文件包含损坏的数据".

这个DLL正在正确读取.docx文件.

DocumentFormat.OpenXml dll可以帮助读取.doc文件吗?

string path = @"D:\Data\Test.doc";
string searchKeyWord = @"java";

private bool SearchWordIsMatched(string path, string searchKeyWord)
{
    try
    {
       using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(path, true))
       {
           var text = wordDoc.MainDocumentPart.Document.InnerText;
           if (text.Contains(searchKeyWord))
               return true;
           else
               return false;
       }
     }
     catch (Exception ex)
     {
         throw ex;
     }
}
Run Code Online (Sandbox Code Playgroud)

c# ms-word openxml openxml-sdk

11
推荐指数
3
解决办法
1万
查看次数

如何使用OpenXML在powerpoint幻灯片中插入形状

这个问题看似相当基本,但如何在c#中使用OpenXML在幻灯片中插入形状(即矩形)?

我四处搜索,我看到的只是"创建一个带有形状的幻灯片,并使用SDK生产力工具来反映代码.这不是真的有用:(

c# openxml openxml-sdk

11
推荐指数
1
解决办法
5355
查看次数

自动测试OpenXML SDK

我正在使用内容控件和OpenXML SDK实现ms word文档生成.我想对该代码进行一些自动化测试(单元测试或一些简单的UI自动化测试).

有没有人有测试MS Word文档生成的经验?有哪些可能的选择?

提前致谢!

.net ms-word openxml openxml-sdk

10
推荐指数
1
解决办法
1235
查看次数


OpenXml表错误"每个</ tc>之前需要<p>元素"

我创建了一个Word模板,然后通过OpenXML SDK处理该模板,用数据库查询中的数据替换文档的某些内容.

该模板由一些基本文本组成,其中纯文本内容控件注入了我想要替换文本的位置.然后我使用这些控件中的文本作为查找替换值的键.在大多数情况下,这工作正常(我只是更新Text对象的Text属性).

在一种情况下,我用表替换文本.在这种情况下,我在代码中构建一个表,然后用新的Table对象替换SdtContentRun对象的内容(Run对象的父对象,后者又是Text对象的父对象)...

var sdtContentRunElements =
  from sdtContentRun in this.Document.MainDocumentPart.RootElement.Descendants<SdtContentRun>()
  select sdtContentRun;

sdtContentRunElements.ForEach(sdtContentRunElement => {

  Run firstRunElement = sdtContentRunElement.Descendants<Run>().FirstOrDefault();
  if (firstRunElement != null) {

    Text firstTextElement = firstRunElement.Descendants<Text>().FirstOrDefault();
    if (firstTextElement != null) {

      switch (firstTextElement.Text) {

        case TableBookmark:

          Table advisoryTable = new Table(...); // See below
          OpenXmlElement parent = firstRunElement.Parent;
          parent.RemoveAllChildren();
          parent.Append(advisoryTable);
          break;

        case ContractorItemAdvisoriesLetter.ContractorCodeBookmark:

          firstTextElement.Text = @"New text";
          break;

      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

}

这导致以下XML(取自用于Microsoft Office的Open XML SDK 2.0生产力工具)...

<w:sdtContent xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:tbl>
    <w:tr>
      <w:tc>
        <w:p>
          <w:r>
            <w:t>Lorem ipsum …
Run Code Online (Sandbox Code Playgroud)

c# openxml openxml-sdk word-2010

10
推荐指数
1
解决办法
5680
查看次数

如何使用OpenXML SDK 2.0生成目录?

使用SDK我正在构建包含报告的Word文档.这些文件需要有TOC.有没有人有一个完整的解决方案,我可以遵循,以了解如何做到这一点?

(我已经阅读了http://openxmldeveloper.org/上的所有内容)

.net openxml openxml-sdk

10
推荐指数
2
解决办法
1万
查看次数

使用Open XML创建word文档

我正在创建一个示例处理程序来生成简单的Word文档.
本文档将包含文本Hello world

这是我使用的代码(C#.NET 3.5),
我创建了Word文档,但没有文本,大小为0.
我该如何修复它?
(我使用CopyStream方法,因为CopyTo仅在.NET 4.0及更高版本中可用.)

public class HandlerCreateDocx : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        using (MemoryStream mem = new MemoryStream())
        {
            // Create Document
            using (WordprocessingDocument wordDocument =
                WordprocessingDocument.Create(mem, WordprocessingDocumentType.Document, true))
            {
                // Add a main document part. 
                MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();

                // Create the document structure and add some text.
                mainPart.Document = new Document();
                Body body = mainPart.Document.AppendChild(new Body());
                Paragraph para = body.AppendChild(new Paragraph());
                Run run = para.AppendChild(new Run());
                run.AppendChild(new …
Run Code Online (Sandbox Code Playgroud)

c# asp.net ms-word openxml openxml-sdk

10
推荐指数
2
解决办法
2万
查看次数

在OpenXML(excel)中创建自定义列宽

我是OpenXML的新手(2.5版),我可以创建行和单元格,但我需要能够设置列宽,但由于某种原因我无法正确执行.

没有这个代码:

        Columns cols = new Columns();

        Column c1 = new Column()
        {
            CustomWidth = true,
            Width = 20
        };

        cols.Append(c1);
        wspart.Worksheet.Append(cols);
Run Code Online (Sandbox Code Playgroud)

该程序运行并生成一个excel文件.

下面的代码符合并运行,但留下了一个损坏的Excel文档.当我尝试添加列时,我做错了什么?

    public static void createExcel() //TODO change to private
    {
        //create the spreadsheet document with openxml See https://msdn.microsoft.com/en-us/library/office/ff478153.aspx
        SpreadsheetDocument spreadsheetDoc = SpreadsheetDocument.Create(@"C:\Users\Reid\Documents\BLA\test.xlsx", SpreadsheetDocumentType.Workbook); //TODO change path

        //add a workbook part
        WorkbookPart wbpart = spreadsheetDoc.AddWorkbookPart();
        wbpart.Workbook = new Workbook();

        //add a worksheet part
        WorksheetPart wspart = wbpart.AddNewPart<WorksheetPart>();
        Worksheet ws = new Worksheet(new SheetData());
        wspart.Worksheet = ws;

        //create a …
Run Code Online (Sandbox Code Playgroud)

c# excel openxml openxml-sdk

10
推荐指数
2
解决办法
2万
查看次数

Ubuntu服务器中的DocumentFormat.OpenXml

我有一个基本的C#应用​​程序,其中使用了Open XML SDK.我想让它在我的Nginx和Ubuntu和DigitalOcean服务器上运行.

该应用程序在Windows中编译并运行良好,而我的Mac在单声道中运行良好.然后,我在Ubuntu服务器上安装了mono,并将.exe文件scp到服务器,然后运行mono ConsoleApplication2.exe,它返回了以下错误:

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
File name: 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
 at ConsoleApplication2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
File name: 'DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
  at ConsoleApplication2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
Run Code Online (Sandbox Code Playgroud)

我找到了这个链接,似乎问题来自于版本DocumentFormat.OpenXml.但是我怎么能在Ubuntu服务器上安装正确的版本呢? …

ubuntu mono nginx openxml openxml-sdk

10
推荐指数
1
解决办法
397
查看次数

标签 统计

openxml ×10

openxml-sdk ×10

c# ×6

.net ×4

ms-word ×3

mono ×2

asp.net ×1

excel ×1

nginx ×1

ubuntu ×1

word-2010 ×1