【Openxml 笔记-转载】教程文章相关的互联网学习教程文章

c# – 使用openxml将背景颜色应用于excel中的特定单元格【代码】

以下是我的代码,在下面的最终方法中,我做了所有的操作.请忽略方法的返回类型,我稍后会更改它.public static byte[] CreateExcelDocument<T>(List<T> list, string filename){DataSet ds = new DataSet();ds.Tables.Add(ListToDataTable(list));byte[] byteArray = CreateExcelDocumentAsStream(ds, filename);return byteArray;} public static bool CreateExcelDocumentAsStream(DataSet ds, string filename, System.Web.HttpRes...

c# – 在Openxml中冻结窗格和列【代码】

我需要帮助. 我有一个问题要问使用OpenXMLWriter. 我目前正在使用下面的代码来创建我的excel文件,但我想设置列的宽度和冻结窗格.我该怎么办? 因为我已经为此编写了以下代码.我不知道为什么不工作. 示例非常有用.感谢它,谢谢!public bool ExportData(DataSet ds, string destination, List<Tuple<string, string>> parms){using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(destination, Spreadsheet...

c# – 如何使用OpenXML SDK 2.5从word文档复制公式?【代码】

我必须使用带有C#的OpenXML SDK 2.5来复制一个word文档中的公式,然后将它们附加到另一个word文档中.我尝试了下面的代码,它运行成功但是当我试图打开文件时,它说内容有问题.我打开它忽略了警告,但没有显示那些公式.它们只是空白块. 我的代码:private void CreateNewWordDocument(string document, Exercise[] exercices){using (WordprocessingDocument wordDoc = WordprocessingDocument.Create(document, WordprocessingDocument...

c# – OpenXML Spreadsheet-在写入单元格值时保留值之前或之后的空间【代码】

我正在使用OPENXML SDK 2.0来传输电子表格文件.源数据来自数据表,并使用openxml将其写入Spreadsheet.如果数据表的列数据中有一个具有“Treshold%”(此文本上面有选项卡空间)并且同样写入excel但是在excel单元格中将其写入“Treshold%”并删除标签空间. 我使用的代码如下.使用workSheetWriter.PasteText和workSheetWriter.PasteValue方法.WorksheetWriter workSheetWriter = new WorksheetWriter(spreadSheet, workSheet);int int...

c# – 如何从OpenXML docx文件中删除书签?【代码】

我认为以下内容可行:var bod = wordDoc.MainDocumentPart.Document.Body;foreach (var bookmark in bod.Descendants<BookmarkStart>()) {bookmark.Remove(); }foreach (var bookmark in bod.Descendants<BookmarkEnd>()) {bookmark.Remove(); }但这会破坏文件.解决方法:试试这个,它适用于我的文档.var bs = wordDoc.MainDocumentPart.Document.Descendants<BookmarkStart>().ToList();foreach (var s in bs)s.Remove();var be = w...

c# – 使用OpenXML和SAX模板【代码】

我正在使用Parsing and Reading Large Excel Files with the Open XML SDK中提出的SAX方法从数据表创建一个大型XLSX文件.我正在使用XLSX文件作为模板. 该帖子中描述的方法可以很好地替换现有的工作表,但我想从模板中的工作表中复制标题行(字符串值,格式等),而不是仅使用标题行来自像原始代码那样的数据表. 我已经尝试了下面的代码,但XLSX文件最终在标题行中没有文本 – 格式化被复制,而不是文本.我查看了表格的XML文件,它看起来不错...

c# – Powerpoint OpenXML空白正在消失【代码】

我遇到一个问题,一旦我引用幻灯片,就会在powerpoint文档中删除空格.以下代码示例说明了我的意思 – //Open the document. using(PresentationDocument presentationDocument = PresentationDocument.Open(pptxFileName, true)) {//Just making this reference modifies the whitespace in the slide.Slide slide = presentationDocument.PresentationPart.SlideParts.First().Slide; }要重现此问题,请使用单个幻灯片创建演示文稿,其...

c# – 如何在OpenXML SDK中拆分文档

我需要在OpenXml sdk 2.0中拆分文档.该文档的部分每个都有一个带有文本元素的页脚(部分的名称).有没有直接的方法从一个OpenXml文档复制到另一个?解决方法:DocumentBuilder是您正在寻找的工具.例如,参见http://blogs.msdn.com/b/ericwhite/archive/2010/01/08/how-to-control-sections-when-using-openxml-powertools-documentbuilder.aspx

c# – 是否可以使用OpenXml将RTF文本片段插入Word文档(.docx)?【代码】

我正在开发一个.NET C#应用程序,需要创建一个Word文档,插入存储在数据库中的RTF文本片段.有谁知道是否有可能以及如何使用OpenXml(或COM互操作)完成此操作? 我不需要将一个完整的RTF文件转换为Word文档.我需要以编程方式创建一个Word文档,并使用C#在word文档的不同位置添加RTF文本.解决方法:您可以通过altChunk锚点导入外部内容.altChunk锚定义要插入的word文档中的位置外部内容,如RTF,HTML,XML,…… 有关altChunk锚点的更多信息,请...

c# – 用于快速将100K行导出到Excel的OpenXML Sax方法【代码】

我一直在努力提高写入xlsx的SAX方法的性能.我知道Excel中有1048576行的限制.我只打了几次这个限制.在大多数情况下,虽然我只写出大约125K到250K行(一个大数据集).我尝试过的代码似乎没有那么快,因为它会多次写入文件.我希望有一些缓存,但似乎现在代码的工作方式有太多的磁盘访问. 下面的代码类似于Using a template with OpenXML and SAX,因为我使用ClosedXML写入文件,然后切换到SAX以获取大内容.尝试对这么多行使用ClosedXML时,内存...

c# – 是否有工具可以在使用OpenXML SDK创建的Excel文档中查找错误?【代码】

是否有工具可以识别使用OpenXML SDK创建的Excel文档中错误的确切位置? 我使用Microsoft OpenXML SDK 2.5创建了一个Excel文件(也尝试过v 2.0,结果相同),并且必须在代码中的某处出错.我想知道的是在哪里. SDK验证函数都说该文档是有效的.使用OpenXML SDK Productivity工具验证生成的Excel文件时,响应为“未在程序包中找到验证错误”. 但是..使用MS Excel打开Excel文件时,在修复文档正确显示后,错误会提醒用户文档需要修复. Excel修复...

c# – OpenXML – Cell.DateType为null【代码】

我无法确定Cell是一个约会.我注意到DataType为null所以我无法区分它是否是一个日期的数字. 我正在使用下一个代码来提取单元格:WorksheetPart worksheetPart = (WorksheetPart)workbookPart.GetPartById(worksheetId); SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>(); Row[] rows = worksheetPart.Worksheet.Descendants<Row>().ToArray(); for (int i = 0; i < rows.Length; i++) {List<Cell> cells ...

DocumentFormat.OpenXml导出word合并(文件被另一个进程占用)【代码】

1.导出word合并时,文件锁定被占用,部分代码public WordprocessingDocument document; public DocExport(string path) { document = WordprocessingDocument.CreateFromTemplate(path); }//path需要保存的文件地址document.SaveAs(path).Close();//最重要的就是这个Close,释放文件document.Dispose();//只是释放了document对象,并没有释放文件详见:https://stackoverflow.com/questions/49633150/saveas-wordprocessingdocumen...