Tag: openxml

使用OpenXML以编程方式更改数据之后,Excel Formular不会刷新

我有以下情况。 列A和列B中的单元格获得用户input的值(A,B,C或D)。 如果两个单元格都有值,则列C中的公式计算出一个值(A&A = 1,C&D = 3等等)。 Col R,S和T中发生的情况完全相同 现在,如果我执行我的c#代码,用openxml打开电子表格并操作数据(在R和S中剪切值并将它们粘贴到A和B中),C中的公式不刷新。 如果我按Ctrl + Alt + F9,公式更新。 但我无法解释我的客户每次都要手动更新他的配方:) 任何提示强制电子表格重新计算该公式?

使用Raw XML生成Excel文件

我试图创build一个简单的Excel电子表格通过操纵2007文档的XML包格式。 有没有人有一个例子,我可以作为一个起跳点? 谢谢。

从Excel单元格导出位图图像

我已经使用OpenXML框架创build了一个.xlsx文件,并将其embeddedPowerPoint幻灯片(也是使用OpenXML创build的),问题是我需要一个OleObject的占位符图像,Excel坐在PowerPoint幻灯片上 – 我可以使用一个标准的占位符,但这看起来很糟糕。 所以我希望(很可能使用Interop)find打开.xlsx文件并将相关单元格导出为位图(理想情况下为.jpg或.png)的方式,然后将其作为占位符图像提供给我的OleObject。 我碰到这个: http : //csharp.net-informations.com/excel/csharp-excel-chart-export.htm 这是做我正在做的事情,但在图表对象,所以如果有人知道一种方式导出单元格(理想情况下select,而不是整个工作表),一个位图,这将是伟大的! 谢谢, 麦克风

在电子表格中searchinputstring

我正在使用Open XML SDK来打开一个Excel文件(xlsx),我想查找从外部传递的特定string或整数,以检查电子表格中值的重复项。 如何在电子表格的所有单元格中searchinputstring?

使用OpenXML访问Excel行中的单元格值 – 未将对象引用设置为对象的实例

我有一个需要从Excel电子表格读取值并将值保存到数据库。 问题,我似乎在这个时候正在访问我的行对象中的列中的单个值 http://msdn.microsoft.com/en-us/library/office/documentformat.openxml.spreadsheet.cellvalue.aspx var cellValues = from cell in row.Descendants<Cell>() select (cell.DataType != null && cell.DataType.HasValue && cell.DataType == CellValues.SharedString && int.Parse(cell.CellValue.InnerText) < sharedString.ChildElements.Count ? sharedString.ChildElements[int.Parse(cell.CellValue.InnerText)].InnerText : cell.CellValue.InnerText); 不幸的是,上面的代码似乎没有做这项工作,因为它在运行时会引发exception,所以如何使用OpenXML访问包含在Excel Row对象中的值的最佳想法。 + $ exception {“对象引用未设置为对象的实例”} System.Exception {System.NullReferenceException} 结果StackTrace at MOC.Import.Products.<ProcessRows>b__0(Cell cell) in c:\Development\CFrontEnd\MOC.Import\Products.cs:line 37 at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source) at MOC.Import.Products.ProcessRows(IEnumerable`1 dataRows, SharedStringTable sharedString) in c:\Development\CFrontEnd\MOC.Import\Products.cs:line […]

我可以创build一个图像从Excel文件使用C#

有没有办法不使用office.interop dll拍摄excel文件的图像? 我成功地将excel文件embeddedword文档中,但是我需要在word文档中显示此excel文件的图像。 使用文件stream,我可以读取任何图像,并使用打开的XMLembedded到Word文档。 rest的最后一件事是从excel文件创build一个图像。

使用Apache POI打印电话号码(string)以显示为科学记数法(4.165551234E9)

我怎样才能改变这个单元格,使它看起来像一个“普通”types而不是“科学的” 这是导致问题的一行, getPhoneNumber()返回一个String row.createCell(4).setCellValue(c.getPhoneNumber()); 电话号码(string)显示为4.165551234E9,数据在那里,但格式错误。 我已经尝试将单元格格式设置为数字 row.getCell(4).setCellType(Cell.CELL_TYPE_NUMERIC); 但是这导致10位string显示为11和16之间的数字。即11,16,20,26,13,31,35 我也试着把电话号码parsing成一长串 try { row.createCell(4).setCellValue(Long.parseLong(c.getPhoneNumber())); } catch (NumberFormatException e) { row.createCell(4); } 没有setCellValue(Long)只有setCellValue(Double),所以我会假设string是处理这个问题的正确方法。

在先前被修改的OpenXML中复制工作表

我已经按照这里使用的例程将工作簿中的工作表复制到相同的工作簿中,通过使用.AddPart<>()和一个临时工作簿来担任中间人,但是已经提出了一些问题。 在复制工作表之前,我已经对其进行了修改。 但是,工作表的复制版本保留原始表单,而不是修改后的表单。 代码如下: Document = SpreadsheetDocument.Open(filename, true); SetupPages(0, nSections); CopySheet(1); SetupPages()只需获取一个只有一行的表格的工作表,然后将该行复制nSections – 1次,以便表格以nSections行结束。 这工作。 CopySheet()有以下代码: private void CopySheet(int sNum) { var tempSheet = SpreadsheetDocument.Create(new MemoryStream(), SpreadsheetDocumentType.Workbook); WorkbookPart tempWBP = tempSheet.AddWorkbookPart(); var part = Document.XGetWorkSheetPart(sNum); WorksheetPart tempWSP = tempWBP.AddPart<WorksheetPart>(part); var copy = Document.WorkbookPart.AddPart<WorksheetPart>(tempWSP); var sheets = Document.WorkbookPart.Workbook.GetFirstChild<Sheets>(); var sheet = new Sheet(); sheet.Id = Document.WorkbookPart.GetIdOfPart(copy); […]

不确定如何从VSTO中访问在OpenXML中设置的自定义属性

我有一个项目有两个要求。 一种方法是创build一个简单的程序,将自定义属性添加到Excel以外的Excel电子表格中。 第二个要求是search,如果find,则从Excel应用程序级别的Excel加载项中提取该自定义属性。 到目前为止,我已经满足了第一个要求,并有一个程序,通过OpenXML将一些数据添加到工作簿的CustomFileProperties,如下所示: using (var wb = SpreadsheetDocument.Open(WorkbookToRegister, true)) { Log("Finding existing properties…"); var customPropsPart = wb.CustomFilePropertiesPart; if (customPropsPart == null) { Log("No properties found, adding new part…"); customPropsPart = wb.AddCustomFilePropertiesPart(); } var props = customPropsPart.Properties; if (props == null) { props = new DocumentFormat.OpenXml.CustomProperties.Properties(); customPropsPart.Properties = props; } foreach (var prop in props.Where( […]

OpenXML:XML和Excel工作表具有不同的值

当我使用OpenXML读取Excel工作表时,Excel中的单元格值有不同的值。 这发生在OpenXML生产力工具,我的代码,当我改变扩展到.zip,并在浏览器中查看XML。 例如,这是我的Excel工作表的一部分(对不起,我没有足够的“声誉”在这里张贴工作表的图像): SAMPLE ID ANALYTE ID RESULT QUANTIFIER RESULT 782-3M-000085 75-35-4 < 0.11 782-3M-000085 56-23-5 < 0.0006 782-3M-000085 156-59-2 < 0.497 782-3M-000085 75-69-4 < 0.0009 782-3M-000085 67-66-3 < 0.008 782-3M-000085 76-13-1 < 0.006 782-3M-000085 127-18-4 1.79 和XML看起来像这样(对于它的一部分): <row r="1" spans="1:18" ht="38.25" x14ac:dyDescent="0.2"> <cr="A1" s="30" t="s"> <v>103</v> </c> <cr="B1" s="30" t="s"> <v>6</v> </c> <cr="C1" s="30" […]