Tag: xlsx

OpenXML:Excel,提取单元格文本和图像/图片数据

我正在编写代码,将单元格中的单元格和图片/图像从Excel文档中提取到数据库中。 有了这个代码,我可以得到不是图片的单元格值。 但是,Cell对象没有图片。请注意,每一行都以图片开始。 A1- Picture B1- Text C1- Text and so on. 如何从“A”列中获取图像? WorkbookPart wbPart = document.WorkbookPart; var workSheet = wbPart.WorksheetParts.FirstOrDefault(); foreach (Row r in workSheet.Worksheet.Descendants<Row>()) { //Note only has Colum B,C. Not A as A has an image??? foreach(Cell c in r.ChildElements) { foreach(object o in c.ChildElements) { Console.WriteLine(c.CellReference + " " + o.ToString()); […]

Apache POI如何使用条件格式更改数据格式

我是Apache POI的用户,我制作了excel文件(.xlsx),我需要在单元格上使用条件格式。 我的问题是这样的:我有一个公式,如果这个公式返回一个介于0和1之间的值,我想用一位小数显示结果,而我想用任何小数来显示结果。 有可能使用条件格式? 如果是的话,我该怎么做呢?

Styles.xml中没有numFmt

我正在分析一个OpenXML Excel文件。 我检查styles.xml,我发现这样的许多条目: <xf numFmtId="0" [..]> 但是,styles.xml文件中根本没有<numFmt>元素。 在这种情况下,我怎样才能确定这种风格的数字格式?

如何在使用Perl和Excel时禁用科学记数法

我正在使用Excel :: Writer :: XLSX模块在Excel工作表中打印数字,但正在用科学记数法打印大整数。 可以打印成十进制数吗? 例如使用 $worksheet->write_number( 0, 0, 123456 ); $worksheet->write_number( 'A2', 2.3451 ); 由于大数字以科学记数法打印有一些限制。

确定xlsx单元格是否为Excel 2007电子表格的date格式

我正在处理一些通过parsingxml从xlsx文件中读取数据的代码。 这是非常简单的,除了date单元格。 date存储为整数,并具有“s”属性,该属性是样式表中的索引,可用于获取date格式化string。 以下是一些以前链接的问题的例子: 19 ='h:mm:ss AM / PM'; 20 ='h:mm'; 21 ='h:mm:ss'; 22 ='m / d / yy h:mm'; 这些是来自ooxml标准的内置date格式化string,但是看起来像excel往往使用自定义格式化的string而不是内置的。 以下是Excel 2007电子表格的示例格式。 numFmtId大于164是一种自定义格式。 <numFmt formatCode="MM/DD/YY" numFmtId="165"/> 确定一个单元格是否应该格式化为一个date是困难的,因为唯一的指标,我可以find的是formatCode。 这一个显然是一个date,但单元格可以被格式化任何方式。 我最初的尝试是在formatCode中查找Ms,Ds和Ys,但似乎有问题。 有没有人有这个问题的运气? 看来标准的Excel阅读库目前缺乏xlsx支持。 我已经阅读了标准,并通过很多xlsx文件挖掘没有太多的运气。 最好的信息似乎来自这个stackoverflow问题: 什么表示办公室打开xml单元格包含date时间值 谢谢!

OleDbDataReader在单元格中看不到数据(.xlsx)

阅读xlsx文件(我使用OleDbDataReader)有一个非常奇怪的问题。 我有一个列,其中包含以下数据: 50595855 59528522 C_213154 23141411 问题是,当我读这个专栏时,读者告诉我第三行是空的。 Excel中的列格式设置为“常规”。 但是当我将格式设置为“文本”时,一切正常,阅读器看到该行中的数据。 所以只是为了实验的缘故,我在前两行用字母作为前缀,使它看起来像下面这样: C_50595855 C_59528522 C_213154 23141411 即使列格式设置为“常规”,读者也可以毫无问题地读取所有内容。 所以Excel显然在加载之前会分析列中的数据,当列的第一个单元格看起来像数字而其余的一些是文本时,Excel会感到困惑。 这对我来说真的很奇怪,因为在单元中有数据或者没有数据。 任何人有任何想法,为什么这是发生? 任何帮助都感激不尽。 问候,伊戈尔

POI Excel:获取样式名称

我想读取一个xlsx文档中应用于单元格的样式的名称。 我已经提取的文件,并在xl / styles.xml中,我可以find样式名称: <cellStyles count="3"> <cellStyle xfId="2" builtinId="7" name="Currency [0]"/> <cellStyle xfId="0" builtinId="0" name="Normal"/> <cellStyle xfId="1" name="test style"/> </cellStyles> 我想要的样式名称是“testing样式”。 目前我有下面的代码,我可以得到xfId但不是名称: @Override public String getName(Workbook table, XSSFCell cell, String value) { XSSFCellStyle cellStyle = cell.getCellStyle(); CellColor cellColor = new CellColor(cellStyle); int xfId = cellStyle.getCoreXf().getFillId(); //todo: fint name, not xfId return null; } 有谁知道我是否可以用poi得到风格的名字,以及我将如何去做呢? 如果这是不可能的,那么我可以得到基于xfId作为rgb的背景颜色? […]

Xlsx Writer:在单个单元格中编写多种格式的string

我有一个多个分号的string。 'firstline: abc \n secondline: bcd \n thirdline: efg' 我想用下面的Xlsx Writer在excel单元格中写这个string。 第一线 :abc 第二行 :bcd 第三线 :efg 这就是我所做的。 description_combined = ''' firstline: abc secondline: bcd thirdline: efg ''' spanInserted = [] spanInserted = description_combined.split("\n") result = '' for spans in spanInserted: strr1 = '{}:'.format(spans.split(":")[0]) strr2 = spans.split(":")[1] result += '''bold , "{}" , "{}" ,'''.format(str(strr1),str(strr2)) […]

数据框架列表个人Excel工作表 – R

我有一个data.frame的列表,我想在Excel中输出到他们自己的工作表。 我可以轻松地将单个数据框保存到自己的Excel文件中,但是我不确定如何将多个数据框保存到同一个Excel文件中的自己的工作表中。 library(xlsx) write.xlsx(sortedTable[1], "c:/mydata.xlsx")

将xlsx电子表格读入R时如何包含空列?

我正在尝试编写一个R脚本,它将循环访问大约100个小型Excel电子表格,并将具有完整单元格的15-20行(确切的行数在每个小文件中变化)整合为一个。 我正在使用的代码(包含在循环中)读取文件,但不包含任何条目的列将被跳过。 newDf <- read.xlsx(filename,sheetName="Coding",header=FALSE, rowIndex=rows,colIndex=columns) 我目前的解决方法是创build一个虚拟的第一个数据框在每列中的值; 当我然后把每个新的DF都绑定到它时,这些列被强制排队。 但我希望有一个更好的方法。 任何帮助,将不胜感激。 谢谢。