说明:
①
writeRecord(String[] strings) 当传一个数组参数过来的时候,数组的每一项写到行的每个列的格里面.示例参照注释掉的main方法.
②
writeRecord(String arg) 这一个字符串是行的一个列格,如新起一行需要调用
newLine()方法,示例参照main方法.
很少写文章有什么语意不通的地方还望谅解
,如有问题再行沟通.
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
* ExcelWriter Description
*
*/
public class ExcelWriter {
private OutputStream outputStream = null;
private String sheetName="sheet1";
private XSSFWorkbook workbook;
public String getSheetName() {
return sheetName;
}
public void setSheetName(String sheetName) {
this.sheetName = sheetName;
}
/**
* @param fileOutputStream
* @param forName
* @throws IOException
*/
public ExcelWriter(String filePath) throws IOException {
workbook = new XSSFWorkbook();
this.outputStream = new FileOutputStream(filePath);
}
public void close() {
try {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void writeRecord(String[] strings) throws IOException {
int sheetNum = workbook.getNumberOfSheets();
XSSFSheet sheet = null;
if (sheetNum == 0) {
sheet = workbook.createSheet();
workbook.setSheetName(0, sheetName);
} else {
sheet = workbook.getSheetAt(0);
}
XSSFCell cell = null;
XSSFCellStyle cs = null;
XSSFRichTextString xssfValue = null;
int rowNum = sheet.getLastRowNum();
rowNum++;
XSSFRow row = sheet.createRow(rowNum);
for (int n = 0; n < strings.length; n++) {// 写出列
cell = row.createCell(n);
cs = cell.getCellStyle();
cs.setFillPattern(XSSFCellStyle.ALIGN_GENERAL);
cs.setWrapText(true);
cs.setVerticalAlignment(XSSFCellStyle.ALIGN_LEFT);
cell.setCellStyle(cs);
cell.setCellType(XSSFCell.CELL_TYPE_STRING);
xssfValue = new XSSFRichTextString(strings[n]);
cell.setCellValue(xssfValue);
}
}
/*
* public static void main(String[] args) throws IOException { ExcelWriter
* writer = null; try { writer = new
* ExcelWriter("D:\\test\\test.xlsx"); } catch
* (FileNotFoundException e) { System.out.println("112"); }
* writer.setSheetName("sheet1"); List<String[]> list = new
* ArrayList<String[]>(); list.add(new String[] { "name", "张三",
* "11" }); list.add(new String[] { "age", "34", "22" });
* list.add(new String[] { "sex", "man", "33" });
* for (int i = 0; i < list.size(); i++)
* { String[] arg = list.get(i); writer.writeRecord(arg); } writer.close();
* }
*/
public static void main(String[] args) throws IOException {
ExcelWriter writer = null;
try {
writer = new ExcelWriter("D:\\test\\test.xlsx");
} catch (FileNotFoundException e) {
}
writer.setSheetName("sheet1");
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("\n");
list.add("ddd");
list.add("");
list.add("eee");
for (int i = 0; i < list.size(); i++) {
String arg = list.get(i);
writer.writeRecord(arg);
}
writer.close();
}
public void newLine() {
writeRecord("\n");
}
/**
* @param arg
*/
public void writeRecord(String arg) {
int sheetNum = workbook.getNumberOfSheets();
XSSFSheet sheet = null;
if (sheetNum == 0) {
sheet = workbook.createSheet();
workbook.setSheetName(0, sheetName);
} else {
sheet = workbook.getSheetAt(0);
}
XSSFCell cell = null;
XSSFCellStyle cs = null;
XSSFRichTextString xssfValue = null;
XSSFRow row = null;
int rowNum = sheet.getLastRowNum();
if (rowNum == -1) {
rowNum++;
row = sheet.createRow(rowNum);
} else if (arg.equals("\n")) {
rowNum++;
row = sheet.createRow(rowNum);
return;
} else {
row = sheet.getRow(rowNum);
}
int colNum = row.getLastCellNum();
if (colNum == -1) {
colNum++;
}
cell = row.createCell(colNum);
colNum++;
cs = cell.getCellStyle();
cs.setFillPattern(XSSFCellStyle.ALIGN_GENERAL);
cs.setWrapText(true);
cs.setVerticalAlignment(XSSFCellStyle.ALIGN_LEFT);
cell.setCellStyle(cs);
cell.setCellType(XSSFCell.CELL_TYPE_STRING);
xssfValue = new XSSFRichTextString(arg);
cell.setCellValue(xssfValue);
}
}
分享到:
相关推荐
本教程将详细介绍如何使用Java进行文件导出,并确保与Office 2003和Office 2007的兼容性。 首先,我们要提到的是Apache POI项目,这是一个用于读写Microsoft Office格式文件的开源Java库。对于Word文档(.doc和....
本篇文章将深入探讨如何使用Java实现“边读边写”Excel的机制,特别是结合数据库中的数据List填充到Excel指定位置,并讨论替换字符串的相关操作。 首先,Java中读写Excel文件主要依赖于第三方库,如Apache POI和...
在Java编程环境中,导出Excel 2007文件(也称为.xlsx文件)是一项常见的任务,主要用于数据报表、数据分析和数据交换。Excel 2007引入了Open XML格式,这是Microsoft Office的一项新标准,提供了更高效的数据存储...
标题“用Java操作Office 2007”指的是使用Java编程语言来读取、修改或创建Microsoft Office 2007格式的文件,如Word文档(.docx)、Excel表格(.xlsx)和PowerPoint演示文稿(.pptx)。在Java中,这通常涉及到使用...
它不仅支持旧版的Excel文件格式(.xls,用于Office 2003及更早版本),还支持新版本的Excel文件格式(.xlsx,自Office 2007起)。以下是对"java中poi读写excel封装工具类"这一主题的详细解释。 1. **Apache POI介绍...
以上就是关于"Java Excel 读写"和"Java Excel 导入数据库"的关键知识点,涵盖了从文件读写到数据库操作的整个过程,希望对你的开发工作有所帮助。在实际应用中,根据项目需求选择合适的库,合理设计数据处理逻辑,...
Java 使用Apache POI库操作Excel 2007文件详解 在Java开发中,处理Excel文件是一项常见的任务,特别是对于数据分析、数据导入导出或报表生成等场景。Apache POI是一个流行的开源库,它允许开发者读写Microsoft ...
Apache POI是一个开源项目,它允许Java应用程序创建、修改和显示MS Office格式的文件,包括Excel。在这个主题中,我们将深入探讨如何使用Apache POI来实现对Excel的读写操作,并确保兼容性。 首先,我们需要理解...
Java POI 是一个开源库,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls 和 .xlsx)文件。它提供了API,使得Java开发者能够方便地读取、写入和修改Excel文档。这篇博客文章可能详细介绍了如何使用Java ...
Java中广泛使用的库是Apache POI项目,它提供了API来操作Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。为了使用Apache POI,你需要在项目中添加对应的依赖。如果是Maven项目,可以在pom.xml文件中加入...
通过阅读"POI操作Excel -POI提供API给Java程序对Microsoft Office格式档案读和写的功能.url",你可以深入理解Apache POI在Excel操作中的具体用法和示例,进一步提升你的编程能力。在实际项目中,结合这些资源和库,...
本篇文章将深入探讨如何使用Java进行Excel文件的读取与写入操作,主要聚焦于Apache POI库,这是一个广泛使用的开源Java API,专为处理Microsoft Office格式的文件而设计。 首先,我们需要了解Apache POI库中的核心...
总的来说,这个Java编写的Excel编辑器为用户提供了一种无需依赖Microsoft Office的替代方案,尤其适合那些需要在Java环境下进行Excel处理的工作。通过深入学习和使用,用户可以充分利用其功能来优化电子表格管理工作...
Apache POI是一个流行的开源库,专门用于读写Microsoft Office格式的文件,包括Excel(.xls和.xlsx)文档。在Java项目中,通过引入Apache POI的jar包,我们可以方便地对Excel文件进行各种操作。 首先,为了实现Java...
本文将深入探讨Java中导入和判断Excel的使用方法,结合实例分析,帮助你全面理解这一技术。 首先,Java与Excel的交互通常依赖于第三方库,如Apache POI或JExcelAPI。Apache POI是目前最常用的一个,它提供了丰富的...
用于导入excel支持office 2007
Apache POI是一个广泛使用的开源库,它允许开发者使用Java语言来处理Microsoft Office格式的文件,包括Excel(XLS和XLSX)文档。在本文中,我们将详细探讨如何使用Apache POI库来实现这一功能。 首先,Apache POI...