java解析Excel存储-对单元格内容判断
来源:互联网 发布:淘宝万堂书院 编辑:程序博客网 时间:2024/05/22 14:21
package testexcel;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFComment;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFComment;
public class CreateXL {
public static String xlsFile = "test.xls"; //产生的Excel文件的名称
public static void main(String args[]) {
try {
HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象
HSSFSheet sheet = workbook.createSheet(); //产生工作表对象
//设置第一个工作表的名称为firstSheet
//为了工作表能支持中文,设置字符编码为UTF_16
workbook.setSheetName(0, "firstSheet", HSSFWorkbook.ENCODING_UTF_16);
//产生一行
HSSFRow row = sheet.createRow((short) 0);
//产生第一个单元格
HSSFCell cell = row.createCell((short) 0);
//设置单元格内容为字符串型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//为了能在单元格中写入中文,设置字符编码为UTF_16。
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//往第一个单元格中写入信息
cell.setCellValue("测试成功");
FileOutputStream fOut = new FileOutputStream(xlsFile);
workbook.write(fOut);
fOut.flush();
fOut.close();
System.out.println("文件生成...");
//以下语句读取生成的Excel文件内容
xlsFile = "testdata.xls";
FileInputStream fIn = new FileInputStream(xlsFile);
HSSFWorkbook readWorkBook = new HSSFWorkbook(fIn);
// HSSFSheet readSheet = readWorkBook.getSheet("firstSheet");
HSSFSheet readSheet = readWorkBook.getSheetAt(0);
//HSSFRow readRow = readSheet.getRow(0);
System.out.println(readSheet.getPhysicalNumberOfRows());
System.out.println(readSheet.getDefaultColumnWidth());
int maxrow = readSheet.getPhysicalNumberOfRows();
int col = readSheet.getDefaultColumnWidth();
for(int i = 0 ; i < maxrow ; i++){
HSSFRow readRow = readSheet.getRow(i);
for(int j = 0 ; j < col-2 ; j ++){
HSSFCell readCell = readRow.getCell((short) j);
System.out.println(readRow.getCell((short) j).getCellType());
if(readRow.getCell((short) j).getCellType()==HSSFCell.CELL_TYPE_BLANK){
System.out.print("空格");
}else{
System.out.print(readCell.toString());
}
public static String xlsFile = "test.xls"; //产生的Excel文件的名称
public static void main(String args[]) {
try {
HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象
HSSFSheet sheet = workbook.createSheet(); //产生工作表对象
//设置第一个工作表的名称为firstSheet
//为了工作表能支持中文,设置字符编码为UTF_16
workbook.setSheetName(0, "firstSheet", HSSFWorkbook.ENCODING_UTF_16);
//产生一行
HSSFRow row = sheet.createRow((short) 0);
//产生第一个单元格
HSSFCell cell = row.createCell((short) 0);
//设置单元格内容为字符串型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//为了能在单元格中写入中文,设置字符编码为UTF_16。
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//往第一个单元格中写入信息
cell.setCellValue("测试成功");
FileOutputStream fOut = new FileOutputStream(xlsFile);
workbook.write(fOut);
fOut.flush();
fOut.close();
System.out.println("文件生成...");
//以下语句读取生成的Excel文件内容
xlsFile = "testdata.xls";
FileInputStream fIn = new FileInputStream(xlsFile);
HSSFWorkbook readWorkBook = new HSSFWorkbook(fIn);
// HSSFSheet readSheet = readWorkBook.getSheet("firstSheet");
HSSFSheet readSheet = readWorkBook.getSheetAt(0);
//HSSFRow readRow = readSheet.getRow(0);
System.out.println(readSheet.getPhysicalNumberOfRows());
System.out.println(readSheet.getDefaultColumnWidth());
int maxrow = readSheet.getPhysicalNumberOfRows();
int col = readSheet.getDefaultColumnWidth();
for(int i = 0 ; i < maxrow ; i++){
HSSFRow readRow = readSheet.getRow(i);
for(int j = 0 ; j < col-2 ; j ++){
HSSFCell readCell = readRow.getCell((short) j);
System.out.println(readRow.getCell((short) j).getCellType());
if(readRow.getCell((short) j).getCellType()==HSSFCell.CELL_TYPE_BLANK){
System.out.print("空格");
}else{
System.out.print(readCell.toString());
}
}
System.out.println();
}
HSSFRow readRow = readSheet.getRow(0);
//System.out.println(readRow.getRowNum());
HSSFCell readCell = readRow.getCell((short) 0);
System.out.println("CELL_TYPE_STRING" + HSSFCell.CELL_TYPE_STRING);
System.out.println("CELL_TYPE_BLANK" + HSSFCell.CELL_TYPE_BLANK);
System.out.println("CELL_TYPE_BOOLEAN" + HSSFCell.CELL_TYPE_BOOLEAN);
System.out.println("CELL_TYPE_ERROR" + HSSFCell.CELL_TYPE_ERROR);
System.out.println("CELL_TYPE_FORMULA" + HSSFCell.CELL_TYPE_FORMULA);
System.out.println("CELL_TYPE_NUMERIC" + HSSFCell.CELL_TYPE_NUMERIC);
System.out.println("ENCODING_UTF_16" + HSSFCell.ENCODING_UTF_16);
System.out.println("ENCODING_UNCHANGED" + HSSFCell.ENCODING_UNCHANGED);
System.out.println("第一个单元是:" + readCell.getStringCellValue());
} catch (Exception e) {
System.out.println(e);
}
}
}
System.out.println();
}
HSSFRow readRow = readSheet.getRow(0);
//System.out.println(readRow.getRowNum());
HSSFCell readCell = readRow.getCell((short) 0);
System.out.println("CELL_TYPE_STRING" + HSSFCell.CELL_TYPE_STRING);
System.out.println("CELL_TYPE_BLANK" + HSSFCell.CELL_TYPE_BLANK);
System.out.println("CELL_TYPE_BOOLEAN" + HSSFCell.CELL_TYPE_BOOLEAN);
System.out.println("CELL_TYPE_ERROR" + HSSFCell.CELL_TYPE_ERROR);
System.out.println("CELL_TYPE_FORMULA" + HSSFCell.CELL_TYPE_FORMULA);
System.out.println("CELL_TYPE_NUMERIC" + HSSFCell.CELL_TYPE_NUMERIC);
System.out.println("ENCODING_UTF_16" + HSSFCell.ENCODING_UTF_16);
System.out.println("ENCODING_UNCHANGED" + HSSFCell.ENCODING_UNCHANGED);
System.out.println("第一个单元是:" + readCell.getStringCellValue());
} catch (Exception e) {
System.out.println(e);
}
}
}
独有“帐号保险柜”,保护网银网游密码,瑞星2008版免费
- java解析Excel存储-对单元格内容判断
- java获取Excel单元格内容
- EXCEL之对单元格批量填充内容
- Java 解析Excel内容
- java解析Excel存储
- POI Excel 单元格内容类型判断并取值
- excel 合并单元格内容
- excel 隐藏单元格内容
- excel 更改单元格内容
- Excel彻底清除单元格内容
- excel 单元格增加内容
- java 解析excel文件内容
- 基于JXL/POI excel单元格内容的判断(公式单元格)
- VB更改EXCEL单元格内容
- EXCEL单元格内容自动换行
- Excel更新单元格的内容
- excel 合并单元格内容
- EXCEL获取单元格内容方法
- PHP初学者头疼问题总结
- VC中用于调试程序的宏
- PHP初学者头疼问题总结(二)
- java解析Excel存储
- PHP4到PHP5迁移指南
- java解析Excel存储-对单元格内容判断
- hpi 驱动源码
- 嵌入式QT-3开发环境建立
- 53个非常实用的CSS
- java学习之路
- J2EE 与.Net 的比较
- Java和.net介绍及比较
- CodeGear发布JGear Eclipse Plug-ins,以应对关键的Java开发挑战
- Ruby on Rails和 J2EE