Tag: xml

Excel 2003 XML格式 – AutoFitWidth无法正常工作

我有一个程序,以Excel 2003 XML格式吐出Excel工作簿。 它工作正常,有一个问题,我不能自动设置列宽。 我产生的片段: <Table > <Column ss:AutoFitWidth="1" ss:Width="2"/> <Row ss:AutoFitHeight="0" ss:Height="14.55"> <Cell ss:StyleID="s62"><Data ss:Type="String">Database</Data></Cell> 这不会将列设置为自动适应。 我试过没有设置宽度,我尝试了很多东西,我卡住了。 谢谢。

使用MemoryStream创buildOpen XML电子表格时,Excel和“不可读内容”

当使用Open XML SDK v2.0创buildExcel电子表格时,我们的Excel输出最初几个月成功运行。 最近Excel(所有版本)开始抱怨“Excel在'zot.xlsx'中发现了不可读的内容,你想恢复这个工作簿的内容吗?” 我们使用一个MemoryStream作为存储在Web应用程序中创build文件,然后在MIMEtypes为“application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”的HTTP响应中将其作为byte []发送。 坏文件的解压内容与文件的解压内容相同,没有错误。

如何将自定义XML添加到使用C#打开的Excel 2007工作簿?

我正在尝试使用C#将一个自定义XML添加到打开的Excel 2007工作簿中。 我正在使用Microsoft.Office.Interop.Excel作为接口。 我发现有一个CustomXMLPart类,但我不知道如何使用它。 最初我希望代码是这样简单的: CustomXMLPart myXMLPart = new CustomXMLPart(xmlString); myWorkBook.XMLCustomParts.Add(myXMLPart); 但这并不是接近工作。 我试着在网上find例子,但他们是复杂的谈论包,加载项,OpenXML,VSTOstream等。我已经解压缩一个合适的工作簿(xlsx),并发现它有docProps / custom.xml元素。 我只想在保存之前添加一个类似的custom.xml到新的工作簿(2007)。 这可能吗? 请注意我不能安装任何额外的软件包或库。 编辑:我已经做了更多的调查这个问题的进展。 我相信我有正确的Office引用(COM下的Microsoft Office 12.0对象库)和Excel互操作引用(GAC下的Microsoft.Office.Interop.Excel)。 声明 Microsoft.Office.Core.CustomXMLParts myCustomXMLParts; 编译,但是 Microsoft.Office.Core.CustomXMLParts myCustomXMLParts = Microsoft.Office.Interop.Excel.Workbook.CustomXMLParts; 导致错误消息:错误CS0029:无法隐式地将typesMicrosoft.Office.Core.CustomXMLParts转换为Microsoft.Office.Core.CustomXMLParts。 当我将鼠标hover在Excel CustomXMLParts属性上时,声明返回一个CustomXMLParts对象,这在某种意义上是Microsoft.Office.Core.CustomXMLParts对象,但与Office程序集中的对象不完全相同。 所以在这里显然有一些不兼容性,但我无法解决它。 我安装了Microsoft Office Professional Plus 2007(12.0.6612.1000)和Office 2007主互操作程序集(12.0.4518.1014)。 编辑:我相当肯定,这是Office DLL的问题。 在添加引用上,我看到“Microsoft Office 12.0对象库”,并可以添加它没有任何错误。 它在参考下显示为“办公室”。 然而,它似乎是不可见的,而仍然声称Microsoft.Office.Core定义在未引用的程序集,并指定程序集“办公室”,版本= 12.0.0.0。 我的Office引用已链接到Microsoft Shared / OFFICE12下的MSO.DLL,并具有属性下的主版本2次版本4。 这很重要吗? 或者是错误信息只是表明它没有处理这个引用的原因? 编辑:添加COM对象“Microsoft […]

XSD:将属性添加到强types的“简单”元素

有没有一些明智的方法来使用强types的简单types和属性? 好的,我有一个XSD模式,它有一百万(呃,一百个)元素,可能看起来像这样: <xsd:element name="DocumentDescription" type="xsd:string" /> <xsd:element name="DocumentDateTime" type="xsd:dateTime" /> <xsd:element name="DocumentSize" type="xsd:int" /> 真是太棒了 不过,我真的希望所有这些元素都具有一些共同的属性,比如说“format”和“isVisible”。 即有一个架构如: <DocumentDescription isVisible="true">doc description</DocumentDescription> <DocumentDateTime format="dd/mm/yyyy" isVisible="true">1/1/2008</DocumentDescription> <DocumentSize format="0.00 KB" isVisible="false">5403</DocumentSize> 我可以手动做到这一点,可怕的是,当我生成它时,将所有这些属性添加到XSD,如下所示: <xsd:element name="DocumentDescription" /> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="format" type="xsd:string" /> <xsd:attribute name="isVisible" type="xsd:boolean" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:element name="DocumentDateTime" /> … etc 但是在一个理想的世界中,我宁愿把它定义为复杂types: <xsd:complexType name="customType"> <xsd:complexContent> […]

寻找Excel的.xlsx XML格式的清晰描述

Microsoft Excel的“.xlsx”文件是zip文件,每个文件都包含一组文件。 是否有人可以提供一个简洁地描述embedded式.xml文件的完整结构/语法/标记/格式的链接(头文件不那么有趣)? 例如,很难find关于c , t和s元素代表的在线解释。

修复logging:从头开始创build的工作表中的单元信息

打开我的OpenXML创build的电子表格时,出现错误。 错误如下。 Repaired Records: Cell information from /xl/worksheets/sheet.xml part Repaired Records: Cell information from /xl/worksheets/sheet2.xml part Repaired Records: Cell information from /xl/worksheets/sheet3.xml part 我唯一能够在网上find的东西很有帮助,这个问题是一个algorithm的讨论,它改变了一个单独的单元多次导致问题。 话虽如此,我将链接我的构造函数的SpreadsheetDocument以及三个function更新单元格(我做了一次)。 我可以根据需要提供任何其他function,但我相信问题在下面列出的两个地方。 顺便一提, GetWorksheetPartByName InsertCellInWorksheet GetCell 应该都按预期工作。 实际计划 static void Main(string[] args) { //Full path for File const string newFile = "@C:\test.xlsx"; //Constructor creates default worksheet called "mySheet" var spreadsheet = […]

如何查看excel文件的XML格式

嗨有没有人知道如何查看Excel *.xlsx文件的XMLforms? 谢谢

将UTF8数据导出到Excel的最佳方法是什么?

所以我们有这个Web应用程序,我们支持UTF8数据。 万岁UTF8。 而且我们可以将用户提供的数据导出为CSV,这一点还是UTF8。 问题是,当你在Excel中打开一个典型的UTF8 CSV文件时,它会将其读取为ANSII编码的文本,并相应地尝试读取ø和ü这样的两个字节的字符作为两个独立的字符,最终导致失败。 所以我做了一些挖掘(Intervals的人在这里有一个有趣的post),而且有一些有限的,如果可笑的恼人的select那里。 其中: 提供一个Excel将正确解释但不支持多行数据的UTF-16 Little Endian TSV文件 以HTML mimetypes或文件扩展名提供HTML表格中的数据(不确定此选项是否支持UTF8) 有三四种方法可以将XML数据导入到各种最新版本的Excel中,理论上支持UTF8。 SpreadsheetML,使用自定义XSLT或通过模板生成新的Excel XML格式。 看起来无论如何,我可能要继续为那些不使用Excel的人提供一个普通的CSV文件,还要为Excel提供一个单独的下载选项。 生成Just-For-Excel文件的最简单方法是正确支持UTF8,我亲爱的Stack Overflowers? 如果这个最简单的选项只支持最新版本的Excel,那还是有趣的。 我正在Rails堆栈上做这个,但是好奇的是.net和ers在任何框架上如何处理这个问题。 我自己在几个不同的环境中工作,这绝对是一个将再次成为问题的问题。 更新2010-10-22:我们在我们的时间跟踪系统Tempo中使用了Ruport Gem,当我第一次发布这个问题时提供CSV导出。 我的同事之一Erik Hollensbee为Ruport提供了一个快速filter,为我们提供了实际的Excel XSL输出,我想我会在这里分享其他任何ruby-ists: require 'rubygems' require 'ruport' require 'spreadsheet' require 'stringio' Spreadsheet.client_encoding = "UTF-8" include Ruport::Data class Ruport::Formatter::Excel < Ruport::Formatter renders :excel, :for => Ruport::Controller::Table def output retval = StringIO.new if […]

Open XML SDK 2.0 – 如何更新电子表格中的单元格?

我想使用Open XML SDK 2.0(CT​​P)更新图表使用的电子表格中的单元格。 所有我find的代码示例插入新的单元格。 我正在努力检索正确的工作表。 public static void InsertText(string docName, string text, uint rowIndex, string columnName) { // Open the document for editing. using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(docName, true)) { Workbook workBook = spreadSheet.WorkbookPart.Workbook; WorksheetPart worksheetPart = workBook.WorkbookPart. WorksheetParts.First(); SheetData sheetData = worksheetPart.Worksheet. GetFirstChild<SheetData>(); // If the worksheet does not contain a row with […]