Tag: java

如何使用apache poi在excel表单的同一个单元格中更改特定的文本颜色?

有没有人知道如何改变Excel中单元格的特定文本的颜色。 我正在使用Apache poi,我可以找出更改整个单元格的文本颜色。 但是我只想要一个特定的文本。 例如:单元格A1有Hello World,我希望“你好”是蓝色的,“世界”是绿色的。 我该怎么做呢?

如何使用java填写Excel文件

我有以下代码来填写Excel文件,使用Jsoup从Internet获得的信息。 package knvbj; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.nodes.TextNode; import org.jsoup.select.Elements; public class KNVBJ { private static int Clnummer=1; public static void main(String[] args) throws IOException { FileOutputStream out = new FileOutputStream("/Users/muratcanpinar/Downloads/KNVBJ/build/classes/knvbj/ClubInformation.xlsx"); List<String> urlList = […]

将sql查询结果导出到csv或excel

我想写一个sql查询的结果到一个CSV或Excel文件,并将其保存在一个特定的文件夹。我想知道这是否可以实现使用一个Java程序,可以重用任何SQL查询结果。我会也想知道这是否可以用于不同types的数据库(甲骨文,MySQL,MS SQL服务器等)。我打算把保存的文件附加到一个电子邮件(这是可能的直接导出一个SQL查询结果到一个电子邮件)。请帮忙。

如何设置date为typesdate在Excel中与Apache poi?

我正在使用apache poi 3.8创build一个excel文件。 这个excel文件需要包含一些date。 我正在试图用exceltypes“date”来格式化excel文件。 但我总是得到一个types的“自定义”。 我需要使用“date”types,所以它将根据用户设置进行本地化。 我已经尝试了以下内容: Apache poidate格式 Apache POI本地化date到Excel单元格 但它不工作。 这是我有的代码: XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("new sheet"); XSSFDataFormat df = wb.createDataFormat(); CellStyle cs = wb.createCellStyle(); cs.setDataFormat(df.getFormat("d-mmm-yy")); XSSFCell cell = sheet.createRow(0).createCell(0); Calendar c = Calendar.getInstance(); c.set(2012,3-1,18); cell.setCellValue( c.getTime() ); cell.setCellStyle(cs); // Write the output to a file FileOutputStream fileOut […]

Apache POI评估公式

我在表单的单元格中有一些公式,我想在插入一些值之后对它们进行评估。 例如: 我的公式是=SUM(B1,B2) 值插入前B1值为1 , B2值为3 ,公式结果为4 现在插入值后,B1的值是5 ,B2的值是2但公式仍然会产生4 ,我该如何评估/触发这个计算? 当然,当我按下公式单元格上的返回button时,会计算出新的值7 ,是否有办法在没有手动交互的情况下触发它? 我正在使用Excel 2007,所以XSSFWorkbook 编辑/更新: 我在发布之前使用了Gabors解决scheme,但是我将其用作参考,以下是发生的情况: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.ss.formula.WorkbookEvaluator.<init>(Lorg/apache/poi/ss/formula/EvaluationWorkbook;Lorg/apache/poi/ss/formula/IStabilityClassifier;Lorg/apache/poi/hssf/record/formula/udf/UDFFinder;)V at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.<init>(XSSFFormulaEvaluator.java:64) at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.<init>(XSSFFormulaEvaluator.java:51) …………… …………… 以下是相关代码的一部分: public XSSFFormulaEvaluator getEvaluator(){ if(evaluator == null){ evaluator = new XSSFFormulaEvaluator(wb); } return evaluator; } 实际上调用评估者: //where index is int, and mycell is int row = (XSSFRow) […]

使用poi api从电子表格中读取时间值

我正在尝试从电子表格中读取date列和时间列。 我能够从表格中退出date列,但不能退出时间列。 例如,我的工作表将具有以下forms的行: 约会时间 2012/11/2 12:15:01 我有以下代码来获取date列: while(cellIterator.hasNext()) { HSSFCell cell = (HSSFCell)cellIterator.next(); switch(cell.getCellType()){ case HSSFCell.CELL_TYPE_NUMERIC: HSSFCellStyle style = cell.getCellStyle(); if (HSSFDateUtil.isCellDateFormatted(cell)) { d = (Date)getDateValue(cell); SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); System.out.println(dateFormat.format(d)); } } } protected static Object getDateValue(HSSFCell cellDate) { double numericDateValue = cellDate.getNumericCellValue(); Date date = HSSFDateUtil.getJavaDate(numericDateValue); return date; } 正如你所看到的我使用 HSSFDateUtil.isCellDateFormatted(细胞) 检查单元格是否有date值。 […]

在Excel中查找合并单元格,拆分单元格并将它们写入新电子表格中?

我已经给了一个Assignment,我需要拆分电子表格的数据,并将其写入新的电子表格。 条件是,鉴于电子表格可能有多个合并单元格的数量,我需要find这些合并的单元格,并在新的电子表格中写入这些数据。 即一个合并单元格之间的数据或单元格直到另一个合并单元格必须写入另一个电子表格。 我的努力守则如下, import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class CopyTest { public static void main(String[] args) throws IOException { CopyTest excel = new CopyTest(); excel.process("D:\\B3.xls"); } public void process(String fileName) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileName)); HSSFWorkbook […]

Apache POI。 在Excel中设置数据filter

我一直在使用Apache POI,并且效果很好,但是我无法find关于库中filter支持的可靠答案。 作为参考,我的意思是在Excel中的数据选项卡中可用的filter选项,它允许您在列标题中显示列的所有唯一值作为combobox。 我知道已经有一个关于它生成Excel中的问题,这个问题被问到的问题。 而且我看到Apache POI人员最近检查了这个https://issues.apache.org/bugzilla/show_bug.cgi?id=35125 有没有人使用POI新版本来尝试filter选项? 由于等待POI的最终版本可能不适合我们,任何人都可以指出其他的Excel Java API允许这个选项(JExcel没有我发现)。 我看到许多网站允许出口过滤可用。 如果没有好的API来提供它,是否有任何其他方式或Excel的后处理,我可以做,添加此选项 对不起,重复的问题,但我看不到任何其他方式来解决我的问题,而不是接近stackoverflow社区

在Excel中将date的数字表示转换为java中的date

我在Excel中有date列,但是当我在我的Java应用程序中阅读时,我得到的值是数字 例 Exceldate 1/1/2013 我越来越像 41275.00 如何在我的Java应用程序中将数字转换为date?

如何从Java中的Apache POI库调用macros?

我有 : 名为“process”的macros为我的工作表执行所有处理工作。 我想要使​​用Apache POI的Java代码来调用这个macros,以便它可以为我处理表单。 如何在Java中的Apache POI中调用macros? :: 注意 :: 我在Apache POI中使用import org.apache.poi.ss.usermodel 。 请给出示例代码。 (我是Apache POI和Java本身的新手。)