import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.Header;
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.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class POICreate {
public static void main(String[] args) {
/*// 创建一个Excel
Workbook wb = new HSSFWorkbook();
DataFormat format = wb.createDataFormat();
CellStyle style;
// 创建一个Sheet
Sheet sheet1 = wb.createSheet("产品清单");
String[] title = { "编号", "产品名称", "产品价格", "产品数量", "生产日期", "产地", "是否出口" };
int i = 0;
// 创建一个行
Row row = sheet1.createRow((short) 0);
// 填充标题
for (String s : title) {
Cell cell = row.createCell(i);
cell.setCellValue(s);
i++;
}
// 以下是填充数据
Row row1 = sheet1.createRow((short) 1);
row1.createCell(0).setCellValue(20071001);
row1.createCell(1).setCellValue("金鸽瓜子");
Cell cell2 = row1.createCell(2);
cell2.setCellValue(2.45);
style = wb.createCellStyle();
style.setDataFormat(format.getFormat("#.##"));
cell2.setCellStyle(style);
row1.createCell(3).setCellValue(200);
*
* 定义显示日期的公共格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String newDate = dateFormat.format(new Date());
row1.createCell(4).setCellValue(newDate);
row1.createCell(5).setCellValue("陕西西安");
row1.createCell(6).setCellValue(true);
* 合并单元格 通过Writablesheet.mergeCells(int x,int y,int m,intn)来实现 表示将first
* row,last row,first column,last column
Row row2 = sheet1.createRow((short) 2);
Cell cell3 = row2.createCell((short) 0);
cell3.setCellValue("合并了三个单元格");
sheet1.addMergedRegion(new CellRangeAddress(2, 2, 0, 2));
FileOutputStream fileOut = null;
try {
fileOut = new FileOutputStream("C:\\test1.xls");
wb.write(fileOut);
fileOut.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}*/
writeExcelMatch0703("C://aa.xlsx");
writeExcelMatch0703("C://aaaa.xls");
}
/**
* 兼容2003和2007版本。
* 要想支持2003 和2007,我们就要用到面向借口编程的方法。一下操作就采用的接口编程。
* @param fileName
* 文件路径
*/
public static void writeExcelMatch0703(String fileName){
Workbook workBook = null;
if(fileName.endsWith(".xls")){
workBook = new HSSFWorkbook();
}else if(fileName.endsWith(".xlsx")){
workBook = new XSSFWorkbook();
}else{
throw new RuntimeException("文件格式不正确");
}
Sheet sheet = workBook.createSheet("测试");
// Header header = sheet.getHeader();
// header.setCenter("这是表头");
Row row = sheet.createRow(0);
row.setHeight((short)500);
Cell cell = row.createCell(0);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
cell.setCellValue("兼容2003和2007Excel");
try {
OutputStream os = new FileOutputStream(fileName);
workBook.write(os);
os.flush();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
例如,创建一个新的Excel文件,你可以使用`WorkbookFactory.create()`方法,然后通过`createSheet()`创建工作表,`createRow()`创建行,最后用`createCell()`创建单元格。 在实际开发中,为了正确运行含有Apache ...
例如,`WorkbookFactory.create(new File("file.xlsx"))`用于创建一个Workbook对象,然后通过调用相应的方法来访问和操作其中的数据。 3. **写入Excel文件**: 同样,POI也支持创建新的Excel文件和向已有的文件中...
使用`WorkbookFactory.create()`方法创建新的工作簿对象,然后通过`createSheet()`创建工作表,再用`createRow()`和`createCell()`创建行和单元格,最后调用`write()`方法将内容写入文件。 2. 读取Excel文件: ...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在本主题中,我们将深入探讨如何使用POI库来导出Word文档,并进行页眉、页脚和标题的设置。这个过程涉及到对Word...
Java POI 是一个开源项目,由Apache软件基金会维护,它提供了API用于读写Microsoft Office格式的文件,如Word(.doc)、Excel(.xls)和PowerPoint(.ppt)。这个简单实例非常适合初学者来了解如何使用Java POI库...
Apache POI是一个开源项目,由Apache软件基金会维护,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在Java环境中,Apache POI为开发者提供了强大的API,使得我们可以方便地进行Excel...
例如,通过`WorkbookFactory.create()`方法加载文件,然后遍历工作表和单元格进行数据提取。 - **写入Excel**:创建新的Excel文件或修改现有文件,可以通过创建`Workbook`实例,添加`Sheet`,进一步添加`Row`和`...
针对读取、生成excel内存溢出问题,包括工具类和具体的实现
Workbook workbook = WorkbookFactory.create(new File("已存在的文件.xlsx")); Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { for (Cell cell : row) { switch (cell....
你可以使用`WorkbookFactory.create()`方法根据文件类型创建对应的工作簿实例,例如`HSSFWorkbook`或`XSSFWorkbook`。 2. **添加单元格数据**:在工作表中,你可以创建行(Row)并添加单元格(Cell)。单元格可以...
- 创建`Workbook`实例,可以使用`WorkbookFactory.create()`或`XSSFWorkbook()`(对于`.xlsx`文件)。 - 在`Workbook`上创建新的`Sheet`。 - 在`Sheet`上创建新的`Row`。 - 在`Row`上创建新的`Cell`,并设置值。...
代码中可能包括`WorkbookFactory.create()`用于创建工作簿,`Sheet.createRow()`和`Row.createCell()`用于创建行和单元格,以及`Cell.setCellValue()`设置单元格值等操作。这样的代码结构简单直观,适合小型文件的...
Workbook workbook = WorkbookFactory.create(file); Sheet sheet = workbook.getSheetAt(0); // 获取第一个 Sheet for (Row row : sheet) { for (Cell cell : row) { String cellValue = getCellValue(cell); ...
例如,使用`WorkbookFactory.create()`创建工作簿,`Sheet.createRow()`创建行,`Row.createCell()`创建单元格,并通过`setCellValue()`设置值。 - 导出数据:读取现有Excel文件,通过`WorkbookFactory....
Java POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本教程将深入探讨如何使用Java POI库来创建、读取和修改Excel文件,因为这是它最常见的应用场景。 一、Java POI库...
2. 创建工作簿对象:使用`WorkbookFactory.create()`方法打开模板文件,创建一个`XSSFWorkbook`(对于.xlsx文件)或`HSSFWorkbook`(对于.xls文件)对象。 3. 获取工作表:通过调用`Workbook`对象的`getSheet()`...
2. 创建Workbook对象:使用`org.apache.poi.ss.usermodel.WorkbookFactory`的静态方法`create()`,传入文件输入流或文件路径,创建对应的Workbook对象,例如`HSSFWorkbook`或`XSSFWorkbook`。 3. 获取Sheet对象:...
通过`OPCPackage.open()`方法打开文件,然后用`WorkbookFactory.create()`创建工作簿对象。接着,我们可以获取工作簿内的工作表,每个工作表由`XSSFSheet`表示,工作表中的行由`XSSFRow`表示,而单元格则由`XSSFCell...
- **创建工作簿**:使用`WorkbookFactory.create()`方法可以从模板文件创建一个新的工作簿,或者创建一个空的工作簿。 - **添加工作表**:通过调用`Workbook.createSheet()`方法,可以在工作簿中添加新的工作表。 ...