应用POI组件读写Excel文档

应用POI组件读写Excel文档   http://hi.baidu.com/g882/blog/item/76b53ac4257a9cbb8326ac64.html
可以从http://poi.apache.org/这里下载到POI的jar包

或者从这里下载:http://download.csdn.net/source/2984357






package com.jwy.excel;



import java.io.FileOutputStream;



import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;





public class firstExcel {

public static void main(String[] args) throws Exception {

HSSFWorkbook workBook = new HSSFWorkbook();//创建 一个excel文档对象

HSSFSheet sheet = workBook.createSheet();//创建一个工作薄对象

HSSFRow row = sheet.createRow(0);//创建一个行对象

HSSFCell cell = row.createCell(0);//在本行的第一个单元格中写入数据

//声明文本内容

HSSFRichTextString text =  new HSSFRichTextString("这是我的第一个Excel文档!");

cell.setCellValue(text);//将文本对象加入单元格

//文件输出流

FileOutputStream os = new FileOutputStream("firstExcel.xls");

workBook.write(os);//将文档对象写入文件输出流

os.close();//关闭文件输出流

}

}







设置字体样式






package com.jwy.excel;



import java.io.FileOutputStream;

import java.util.Date;



import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.HSSFColor;



/**

* 设置样式

* @author Jingweiyu

*/

public class styleExcel {

public static void main(String[] args) throws Exception {

HSSFWorkbook workBook = new HSSFWorkbook();//创建 一个excel文档对象

HSSFSheet sheet = workBook.createSheet();//创建一个工作薄对象

sheet.setColumnWidth(1, 10000);//设置第二列的宽度为

HSSFRow row = sheet.createRow(1);//创建一个行对象

row.setHeightInPoints(23);//设置行高23像素

HSSFCellStyle style = workBook.createCellStyle();//创建样式对象

//设置字体

HSSFFont font = workBook.createFont();//创建字体对象

font.setFontHeightInPoints((short)15);//设置字体大小

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//设置粗体

font.setFontName("黑体");//设置为黑体字

style.setFont(font);//将字体加入到样式对象

//设置对齐方式

style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);//水平居中

style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中

//设置边框

style.setBorderTop(HSSFCellStyle.BORDER_THICK);//顶部边框粗线

style.setTopBorderColor(HSSFColor.RED.index);//设置为红色

style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);//底部边框双线

style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);//左边边框

style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);//右边边框

//格式化日期

style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));

HSSFCell cell = row.createCell(1);//创建单元格

cell.setCellValue(new Date());//写入当前日期

cell.setCellStyle(style);//应用样式对象

//文件输出流

FileOutputStream os = new FileOutputStream("styleExcel.xls");

workBook.write(os);//将文档对象写入文件输出流

os.close();//关闭文件输出流

}

}








合并单元格




package com.jwy.excel;



import java.io.FileOutputStream;



import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.CellRangeAddress;



/**

* 合并单元格

*

* @author Jingweiyu

*/

public class unionExcel {

public static void main(String[] args) throws Exception {

HSSFWorkbook workBook = new HSSFWorkbook(); // 创建 一个excel文档对象

HSSFSheet sheet = workBook.createSheet(); // 创建一个工作薄对象



// 设置样式

HSSFCellStyle titleStyle = workBook.createCellStyle();// 创建样式对象

titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);// 水平居中

titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中

// 设置字体

HSSFFont titleFont = workBook.createFont(); // 创建字体对象

titleFont.setFontHeightInPoints((short) 15); // 设置字体大小

titleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 设置粗体

titleFont.setFontName("黑体"); // 设置为黑体字

titleStyle.setFont(titleFont);



// 合并单元格操作

sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 7));

sheet.addMergedRegion(new CellRangeAddress(2, 2, 5, 7));

sheet.addMergedRegion(new CellRangeAddress(3, 3, 1, 3));



HSSFRow row = null;

HSSFCell cell = null;



row = sheet.createRow(0);

cell = row.createCell(0);

cell.setCellStyle(titleStyle);

cell.setCellValue(new HSSFRichTextString("明日公司员工详细信息"));



// 设置表文样式

HSSFCellStyle tableStyle = workBook.createCellStyle();



// 设置表文字体

HSSFFont tableFont = workBook.createFont();



tableFont.setFontHeightInPoints((short) 12); // 设置字体大小

tableFont.setFontName("宋体"); // 设置为黑体字

tableStyle.setFont(tableFont);



String[] row1 = { "姓名:", "李**", "性别:", "女", "出生日期:", "1985年5月27" };

String[] row2 = { "家庭住址:", "吉林省长春市朝阳区*****", "", "", "邮编:", "130021",

"家庭电话:", "8562****" };

row = sheet.createRow(2);

for (int i = 0; i < row1.length; i++) {

cell = row.createCell(i);

cell.setCellStyle(tableStyle);

cell.setCellValue(new HSSFRichTextString(row1[i]));

}

row = sheet.createRow(3);

for (int i = 0; i < row2.length; i++) {

cell = row.createCell(i);

cell.setCellStyle(tableStyle);

cell.setCellValue(new HSSFRichTextString(row2[i]));

}



// 文件输出流

FileOutputStream os = new FileOutputStream("unionExcel.xls");

workBook.write(os); // 将文档对象写入文件输出流

os.close(); // 关闭文件输出流

}

}









读取Excel文档内容




package com.jwy.excel;



import java.io.FileInputStream;



import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;



/**

* 读取Excel文档内容

* @author Jingweiyu

*/

public class ReadExcel {

public static void main(String[] args) throws Exception {

//创建文件输入流对象

FileInputStream is = new FileInputStream("readExcel.xls");

//创建 POI文件系统对象

POIFSFileSystem ts = new POIFSFileSystem(is);

//获取文档对象

HSSFWorkbook wb = new HSSFWorkbook(ts);

//获取工作薄

HSSFSheet sheet = wb.getSheetAt(0);

//声明行对象

HSSFRow row = null;

//通过循环获取每一行

for (int i = 0; sheet.getRow(i)!=null; i++) {

row = sheet.getRow(i);

//循环获取一行的中列

for (int j = 0; row.getCell(j)!=null; j++) {

System.out.print(row.getCell(j).toString()+" ");

}

System.out.println();

}

}

}








你可能感兴趣的:(apache,工作,Excel,OS,J#)