标签: openxml

如何使用OpenXML在Word 2007文档中添加内容控件

我想在不使用对象模型的情况下创建一个单词2007文档.所以我更喜欢使用开放的xml格式创建它.到目前为止,我已经能够创建该文档.现在我想在其中添加一个内容控件并将其映射到xml.任何人都可以指导我相同的???

office-2007 ms-word openxml openxml-sdk

6
推荐指数
1
解决办法
5987
查看次数

MS Word公式编辑器的C#API

是否有API(最好是C#)来访问用MS Word公式编辑器创建的方程的对象模型?我正在寻找像图表对象这样的API来访问Excel中的图表属性.

任何帮助将非常感激.

c# ms-word openxml omml

6
推荐指数
1
解决办法
3987
查看次数

在SQL Server的OPENXML函数中将空元素视为空值

我有以下(高度简化的)XML文档,我使用OPENXML函数读入我的数据库:

<root>
    <row>
        <bar>123</bar>
    </row>
    <row>
        <bar>0</bar>
    </row>
    <row>
        <bar></bar>
    </row>
</root>
Run Code Online (Sandbox Code Playgroud)

我像这样导入数据库:

insert into [Foo]
    ([bar])
select
    ds.[bar]
from openxml(@xmlHandle, 'root/row', 2)
with ([bar] int) ds
Run Code Online (Sandbox Code Playgroud)

问题是OPENXML将int数据类型的空字段转换为零,因此这将插入到我的表中:

bar
----
123
0
0
Run Code Online (Sandbox Code Playgroud)

我想要插入到我的表中的是:

bar
----
123
0
NULL
Run Code Online (Sandbox Code Playgroud)

如何让OPENXML函数将空字段视为NULL并且默认情况下不将其转换为零?

xml t-sql sql-server null openxml

6
推荐指数
2
解决办法
7496
查看次数

学习Word XML格式的资源?

您建议了解哪些资源有关Microsoft的Open Office格式(Office 2007中引入的XML格式,不要与OpenOffice.org混淆),特别是对于.docxWord文件?(理想情况下,有大量样本和教程的.)

ms-word openxml openxml-sdk

6
推荐指数
1
解决办法
1680
查看次数

使用带有C#的OpenXML将文本对齐到Excel文档中心

我有一个我的asp.net页面正在创建的文档,我需要将某些列的文本对齐到中心.我在openXML SDK中手动居中列后打开了文档但是反映的代码没有达到预期的结果.

这就是我如何设置这些列的自定义宽度,我想添加到此函数(方法,whatevs)中心文本的能力:

private static Column CreateColumnData(UInt32 StartColumnIndex, UInt32 EndColumnIndex, double ColumnWidth)
    {
        Column column;
        column = new Column();
        column.Min = StartColumnIndex;
        column.Max = EndColumnIndex;
        column.Width = ColumnWidth;
        column.CustomWidth = true;
        //the SDK says to add this next line to center the text but it doesn't work
        column.Style = (UInt32Value)6U;

        return column;
    }
Run Code Online (Sandbox Code Playgroud)

我对另一种方式开放,但我认为解决方案必须非常简单,我似乎无法得到它.如果有人能提供帮助,那就太棒了.

注意:请记住我使用的是OpenXML,不会使用Microsoft.Office.Interop.Excel

c# excel openxml export-to-excel

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

如何使用open xml sdk从c#更改页面方向

我正在创建一个word文档

using (WordprocessingDocument myDoc = WordprocessingDocument.Create(@"c:\generate\export.docx", WordprocessingDocumentType.Document))          
{
    MainDocumentPart mainPart = myDoc.AddMainDocumentPart(); 
    mainPart.Document = new Document();               
    var body = new Body();               
    var p = new Paragraph(
        new ParagraphProperties(
            new Justification()
            {
                Val = JustificationValues.Center
            }
        ),
        new Run(new Text("test"))
    ); 
    body.Append(p);                
    mainPart.Document.Append(body);                
    // Save changes to the main document part.                 
    mainPart.Document.Save();
}
Run Code Online (Sandbox Code Playgroud)

如何将页面方向设置为横向

c# openxml export-to-word

6
推荐指数
1
解决办法
5172
查看次数

如何使用OpenXML包AutoFit excel列

此代码生成Excel电子表格使用openxml包.请任何人告诉如何自动调整其列宽.

OpenXmlPackage.SpreadsheetDocument spreadsheetDocument = OpenXmlPackage.SpreadsheetDocument.Create(downloadFilePath, OpenXml.SpreadsheetDocumentType.Workbook);
// Add a WorkbookPart to the document.
OpenXmlPackage.WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
// Add a WorksheetPart to the WorkbookPart.
workbookpart.Workbook = new OpenXmlSpreadsheet.Workbook();
int numDates = datesObject.Length;

// Add Sheets to the Workbook.
OpenXmlSpreadsheet.Sheets sheets = new OpenXmlSpreadsheet.Sheets();
OpenXml.UInt32Value sheetId = 1;

OpenXmlPackage.WorksheetPart firstWorksheetPart = workbookpart.AddNewPart<OpenXmlPackage.WorksheetPart>();
firstWorksheetPart.Worksheet = new OpenXmlSpreadsheet.Worksheet(new OpenXmlSpreadsheet.SheetData());
// Append a new worksheet and associate it with the workbook.
OpenXmlSpreadsheet.Sheet firstSheet = new OpenXmlSpreadsheet.Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(firstWorksheetPart), SheetId = sheetId, Name …
Run Code Online (Sandbox Code Playgroud)

c# asp.net excel openxml visual-studio-2012

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

如何知道 Word 文档中特定文本的字体大小(例如)?

这个想法很简单,但答案可能会变得复杂:

事实上,我可以检查字体大小的运行属性。

如果不存在,我需要检查应用于段落的样式以找到为字体大小定义的运行属性,然后是该样式的段落运行属性。

如果没有找到,我需要再次检查有关此样式所基于的样式的所有内容。

如果没有找到,我应该检查样式层次结构中的以下样式,然后继续直到达到默认样式。

我还需要检查上一段是否应用了样式。在这种情况下,应用的样式可以定义影响我正在处理的文本的下一段的样式。

如果没有样式影响我的段落,那么我需要查看样式部分的默认运行属性。之后,我应该查看同一部分中的默认段落属性。

如果什么都不适用,那么大小定义的责任就交给处理文档的应用程序。

我对吗?

我没有来自 OPenXML SDK 和/或 OpenXmlPowerTools 的任何帮助吗?

一个重要的方面是,除了文本字体大小之外,这个问题几乎扩展到任何段落或运行属性。

我的最终目标是根据格式确定一段文本是否是节标题(如heading1、heading2 等),但看起来很难得到像“一段文本的当前格式”这样简单的东西。为了让事情变得更难,我还需要处理(部分)编号,很多时候没有应用于段落的编号格式。

谢谢,

c# ms-word openxml openxml-sdk

5
推荐指数
1
解决办法
2738
查看次数

&lt;color indexed="81"&gt; 是什么意思?

我有一个由 Excel 2007 创建的文档:

<fileVersion appName="xl" lastEdited="4" lowestEdited="4" rupBuild="4506" codeName="{B7FE6334-C1A2-E50D-BD3D-5F4D41BBC2E3}"/>
Run Code Online (Sandbox Code Playgroud)

...在字体定义中包含以下颜色xl/styles.xml

<color indexed="81"/>
Run Code Online (Sandbox Code Playgroud)

我从ECMA标准中了解到<indexedColors>xl/styles.xml如果有这样的集合,则此颜色索引指的是集合,否则指的是标准中显示的默认调色板。我的问题是这个文档不包含<indexedColors>元素,默认调色板只有66个条目,所以我不知道81指的是什么。还有其他人吗?

有趣的是,谷歌搜索color indexed="81"返回了一些包含相同内容的示例 OpenXML 片段,但没有解释。

standards colors spreadsheet openxml ecma

5
推荐指数
1
解决办法
2049
查看次数

OPEN XML 将自定义不可见数据添加到段落/表格

有没有办法为一个段落存储额外的数据,在用户在 MS Word 中打开和保存文档后,这些数据会被保留下来。

为此,我一直在使用 CusotmXML,但事实证明这是不可能的,因为 MS-Word 从文档结构中删除了所有 CusotmXML 元素。

每个段落或表格都有一个 ID,我想将其“配对”到我的数据源。所以稍后当我再次阅读 docx 时,我可以识别文档中每个未更改的段落/表格的来源。

ms-word openxml openxml-sdk

5
推荐指数
1
解决办法
2103
查看次数