如何用OpenXML设置表的标题?
我想将字幕设置在我的桌子上: var caption = new TableCaption(); caption.Val = "Test"; table.Append(caption); 但是什么也没有发生.这里怎么了? upadate foreach (var tabl in mainPart.Document.Body.Descendants ()) { foreach (var trow in tabl.Elements()) { foreach (var tcell in trow.Elements()) { fo
6 2024-04-26
编程技术问答社区
在OpenXml中导航富文本控件
I'm working with OpenXml and C#, I'm was using bookmarks but now might be switching over to Rich Text Controls. I was able to locate and work with the bookmarks, but i'm having some issues locating the Rich Text Controls. I'm trying the below: IEnumerable contentControlsDoc = null; ((MainDocumentPart)section).Document.Body.Descendants(); foreach (var contentControl in contentControlsDoc) { } I'm able to get 1 control, but
8 2024-04-26
编程技术问答社区
通过Open XML创建word文档后,图像没有出现。
我正在使用OpenXML SDK通过C#创建Word文档. 我正在将所有HTML页面转换为Word文档,但是在转换时,我为我的图像提供了一个绝对的地址,并且在转换后,它在我的系统中完美地出现了. 我检查了媒体目录所有图像都在那里,但名称不同. 我的文档已转换,但我正在使用此Mathod. using (WordprocessingDocument myDoc = WordprocessingDocument.Open(documentPath, true)) { XNamespace w = "http://schemas.openxmlformats.org/wordprocessingml/2006/main"; XNamespace r = "http://schemas.openxmlformats.org/
8 2024-04-26
编程技术问答社区
使用Open XML和C#在Excel中创建数据透视表
我在数据表中使用了一个数据,并希望使用此数据创建一个枢轴表. 我已经浏览了许多帖子,还阅读了Microsoft通过Open XML创建枢轴表的文档,但无法获得解决方案.任何人都可以发布一些代码以创建枢轴表. 预先感谢. 解决方案 安装打开XML SDK ,它包含一个称为"打开XML SDK生产力工具"的工具. 如何使用它: 打开Excel并创建一个包含枢轴表的文件.保存并使用生产力工具打开它.在此工具中,是"反映代码"的选项,这样,您可以通过使用C#代码来查看如何创建相同的Excel.
8 2024-04-26
编程技术问答社区
导出到Excel(OpenXML)的结果是无法阅读的内容
我一直在为XLSX文件创建工作表而努力.添加第一个工作表并不是问题,但是当我想要第二张纸时,导出的XLSX似乎是损坏的.谁可以向我指出我在做错什么? 注意:我已经尝试调用'WorkbookPart,workbook.save();'创建第一个工作簿后,但没有所需的结果. protected void export_Click(object sender, EventArgs e) { ExportToExcel(@"D:\dev\Dotnet4\Excel\test.xlsx"); } private void ExportToExcel(string filepath) { SpreadsheetDocument spreadsheetDocument; WorkbookPart workbookpart; CreateSpreadsheet(filepath, out spreadsheetDocument, out workbookpart)
14 2024-04-26
编程技术问答社区
替换控制内容中的文本
我有一个单词模板,我需要在某些精确的斑点上更改一些文本. 我已经完成了一个标题,但我只使用了Interxml,我可以尝试不使用此功能. 我的代码: using (WordprocessingDocument myDoc = WordprocessingDocument.Open(destinationFile, true)) { var mainDocumentPart = myDoc.MainDocumentPart; //Body var body = mainDocumentPart.Document.Body; List SdtBlocks = myDoc.MainDocumentPart.Document.Descendants().ToList(); //var text = SdtBlocks[0].Descendants().First().Text;
6 2024-04-26
编程技术问答社区
OpenXML创建自定义属性不工作
我应该如何创建自定义属性? 我尝试了这个,但它不起作用. 我需要在该属性中添加一些东西吗? 谢谢:) MemoryStream ms = new MemoryStream(); WordStream.CopyTo(ms); ms.Position = 0; WordprocessingDocument word = WordprocessingDocument.Open(ms, true); Properties CustomeProperties = word.CustomFilePropertiesPart.Properties; Boolean Name1 = false; foreach (CustomDocumentProperty customeProperty in CustomeProperties) { if (customeProperty.Name.Equals("Language")) { custom
6 2024-04-26
编程技术问答社区
在word文档中编辑自定义的XML部分有时会破坏文档
我们有一个系统,该系统将一些自定义的模板数据存储在Word文档中.有时,更新此数据会导致Word抱怨文档已损坏.发生这种情况时,如果我解压缩DOCX文件并将内容与上一个版本进行比较,则唯一的区别似乎是customXML\item.xml文件中的预期更改.如果我使用7ZIP重新拉链内容,似乎可以正常工作(单词不再抱怨文档已损坏). (简化)代码: void CreateOrReplaceCustomXml(string filename, MyCustomData data) { using (var doc = WordProcessingDocument.Open(filename, true)) { var part = GetCustomXmlParts(doc).SingleOrDefault(); if (part == null) { part = doc.MainDocume
18 2024-04-26
编程技术问答社区
DocumentFormat.OpenXml: 是否可以将word文档保存到内存流?
我正在研究一个允许我从字符串创建一个简单的Word文档的函数.我在用 documentFormat.openxml版本=" 2.20.0"来创建Word Document.我不明白为什么我不能将我的Word文档保存在内存流中,而我可以将Word文档保存在文件中. public Task ConvertToWordAsync(string text) { if (text.IsNullOrEmpty()) return Task.FromResult(Array.Empty()); using var memoryStream = new MemoryStream(); using var wordDocument = WordprocessingDocument.Create(memoryStream, WordprocessingDocumentType.Docume
6 2024-04-26
编程技术问答社区
查找OOXML/Excel电子表格中的所有外部关系
我试图在OOXML电子表格中注册所有外部关系.下面的代码没有结果.我究竟做错了什么?我怀疑我在寻找错误的地方,我在"工作表派"中寻找.我正在使用开放的XML SDK. using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; using (var spreadsheet = SpreadsheetDocument.Open(file, false)) { var list = spreadsheet.WorkbookPart.WorksheetParts.ToList(); foreach (var item in list) { int count = item.ExternalRelationships.Count(); // Register the number of embedded objects if (c
8 2024-04-26
编程技术问答社区
如何替换注释的内部文本
我尝试了以下内容: comment.InnerText=comment.InnerText.Replace(comment.InnerText,new_text); 不起作用,因为我们只能阅读Innertext属性.我如何有效地更改Innertext值,以便将修改保存到WordProcessing.CommentsPart.Comments和MainDocumentPart.Document? 编辑:DocumentFormat.OpenXml.Wordprocessing.Comment是评论的类. 编辑2:方法: public void updateCommentInnerTextNewWorkItem(List> list){ //DOCX.CDOC.Comments -> WordProcessingCommentsPart.Comments //DOCX._CIT -> Dictionary
12 2024-04-25
编程技术问答社区
表内的字体格式 OpenXML C#
我想使用OpenXML WordProcessing制作表.我想格式化单元格内的字体.这是我的代码 MainDocumentPart mainDocumentPart = doc.AddMainDocumentPart(); mainDocumentPart.Document = new Document(); Body body = mainDocumentPart.Document.AppendChild(new Body()); RunProperties runHeader = new RunProperties(); RunFonts runFont = new RunFonts(); runFont.Ascii = "Lucida Sans"; runHeader.Append(runFont); runHeader.Append(new Bold()); runHeader.Append(new FontSize() { Va
10 2024-04-25
编程技术问答社区
使用OpenXML删除excel文件中的所有超链接
我的数据源是一个Excel文件,其中包含许多超链接(运行到1000秒).我想使用OpenXML SDK和C#进行编程删除所有这些. . 到目前为止,我的研究主要指出了我的帖子,这些文章解释了如何添加excel/Word文件的链接. this 帖子仅获得文档中的第一个超链接并删除. var hyperLinks = worksheetPart.Worksheet.Descendants().First(); var hyperRel = worksheetPart.HyperlinkRelationships; foreach (Hyperlink item in hyperLinks) { if(hyperRel.First().Id == item.Id) {
8 2024-04-25
编程技术问答社区
用Moq嘲弄OpenXML
我应该如何测试以下GetWorksheetPart方法: public class ExcelDocument : IExcelDocument { private readonly string _filePath; public ExcelDocument(string filePath) { _filePath = filePath; } public WorksheetPart GetWorksheetPart(ISpreadsheetDocument excelDoc, string sheetName) { Sheet sheet = excelDoc.GetSheet(sheetName); if (sheet == null) { throw new ArgumentException( Stri
10 2024-04-25
编程技术问答社区
动态地创建openxml文档
我正在尝试动态地构建一个OpenXML文档,基本上我有一些类,负责创建文档的各个部分(表,段落...),然后我需要还有另一个构建文档的类,在我的情况下,我称其为DOC,我的其他课程可裁剪,Docrun ... 因此,目前我有: DocRun projectNameTitle = new DocRun(); Run projectNameTxt = disclaimerDescription.createParagraph(document.projectName, SUBTITLECOLOR, FONTSIZESUBTITLE,FONTTYPE); DocRun dateParagraph = new DocRun(); Run dateTxt = disclaimerDescription.createParagraph(date, PARAGRAPHTITLECOLOR, DATEFONTSIZE, DEFAULTFONT);
12 2024-04-25
编程技术问答社区
OpenXML将PDF嵌入到Excel中
我使用OpenXML在嵌入PDF等文件中遇到困难(Excel 2010).我希望能够模仿插入>对象>从文件中创建,并"显示为图标"行为,您可以在Excel本身中执行. 我已经创建了一个电子表格,其中一个示例是所需结果的示例,并将其与反射器工具一起使用,这很方便,但没有解释关系的工作方式. 有人对此有工作解决方案或我可能能够找到信息的链接吗? 谢谢 解决方案 这实际上并不容易. PowerPoint . 要将OLE对象嵌入Excel工作簿中,必须启动实际应用程序并要求两种不同的内容: "屏幕截图",通常是文档的生成的EMF文件,供用户插入文档的内容 要嵌入的实际文件可能与原始源文件不同 因此,使用OpenXML意味着必须自行调用该应用程序.如何完成所描述的过程此处和在这里. 实际上,我使用pdfium获取图片,但是要嵌入的PDF文件与原始文件完全不同.这是我目前卡住的地方. ---更新--- 我确实找到了如何实现这一目标.仍然
16 2024-04-25
编程技术问答社区
C# OpenXML PowerPoint 如何获得幻灯片持续时间
如何在pptx文件inculde效果中获得总幻灯片持续时间? using (PresentationDocument doc = PresentationDocument.Open(@"C:\powerpoint\sample.pptx", true)) { // Get the presentation part of the document. PresentationPart presentationPart = doc.PresentationPart; // No presentation part? Something is wrong with the document. if (presentationPart == null) { throw new ArgumentException("fileN
10 2024-04-25
编程技术问答社区
在C#中打印OpenXml文档
我已经搜索了这个,但找不到任何帮助. 我有一个WordProcessingDocument-使用documentformat.openxml.wordprocessing. 有没有办法将其直接打印到打印机,我不想保存它? 谢谢 解决方案 否,您需要某种程序来采用打开的XML并翻译成如何为打印机显示的程序.以其原始形式仅XML,没有翻译,打印机不会打印您的期望.
12 2024-04-25
编程技术问答社区
如何使用OPENXML powertools逐案访问和替换某些段落中的文本
我正在尝试使用C#和OpenXML编辑一些Word文件.我需要用某些短语对数字进行控制.每个单词文件都包含不同量的信息.我想为此purspose使用openxml powertools. 我使用了普通的OpenXML方法来替换,但是它非常不可靠,并且会遇到随机错误,例如零长度错误.我使用的是REGEX替换,并且似乎可以使用,但它可以通过非常不受欢迎的文档进行替换. 这是代码的一些片段: private void redact_Replaceall(string wfile) { try { using (WordprocessingDocument doc = WordprocessingDocument.Open(wfile, true)) { var ydoc = doc.MainDocumentPa
12 2024-04-25
编程技术问答社区
C#-OpenXML SDK 2.5-从幻灯片母版中插入含有图片的新幻灯片
我使用 如果我在没有图像的主布局中创建幻灯片,则一切正常.如果我使用包含图像的布局创建幻灯片,我会得到正确的布局,但是在每个固定图像的顶部,还有另一个可移动图像重叠固定的图像,因此有不必要的固定图像重复项,我不需要在我新创建的幻灯片中. 我该如何解决这个问题? 我的代码如下: public static void InsertNewSlide(string presentationFile, int position, string layoutName) { using (PresentationDocument presentationDocument = PresentationDocument.Open(presentationFile, true)) { InsertNewSlide(presentationDocument, position, layoutName);
10 2024-04-25
编程技术问答社区