【java源码】如何用java代码实现对excel的操作

利用java代码对excel读取:


package com;

import java.io.IOException;

public class ExcelReader {

	public static void main(String[] args) throws IOException {
		URL url=ClassLoader.getSystemResource("myexcel.xls");
		HSSFWorkbook HWB=new HSSFWorkbook(url.openStream());
		
		List<Object> list=null;
		int sheetCount=HWB.getNumberOfSheets();
		for(int i=0;i<sheetCount;i++){
			HSSFSheet sheet=HWB.getSheetAt(i);
			int rowCount=sheet.getPhysicalNumberOfRows();
			for(int j=0;j<rowCount;j++){
				HSSFRow row=sheet.getRow(j);
				int cellCount=row.getPhysicalNumberOfCells();
				list=new ArrayList<Object>();
				for(short k=0;k<cellCount;k++){
					HSSFCell cell=row.getCell(k);
					if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING){
						list.add(cell.getStringCellValue());
					}else if(HSSFDateUtil.isCellDateFormatted(cell)){
						java.util.Date d=cell.getDateCellValue();
						list.add(new java.sql.Date(d.getTime()));
					}else{
						list.add(cell.getNumericCellValue());
					}
				}
				System.out.println(list);
			}
		}

	}

}


利用java代码将数据存入excel:




package com;

import java.io.FileNotFoundException;

public class ExcelWriter {

	public static void main(String[] args) {
		//创建工作薄
		HSSFWorkbook HWB=new HSSFWorkbook();
		//创建单元格的风格
		HSSFCellStyle cellStyle=HWB.createCellStyle();
		cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		HSSFFont font=HWB.createFont();
		font.setColor(HSSFColor.RED.index);
		font.setFontHeightInPoints((short)16);
		cellStyle.setFont(font);
		
		//创建工作表
		HSSFSheet sheet=HWB.createSheet();
		sheet.setDefaultColumnWidth((short)12);
		HWB.setSheetName(0, "第一个表格",HWB.ENCODING_UTF_16);
		
		//创建行
		HSSFRow row=sheet.createRow(0);
		
		//创建单元格
		String[] strs={"李刚","赵云","曹操","诸葛亮","苍井空"};
		for(short i=0;i<strs.length;i++){
			HSSFCell cell=row.createCell(i);
			cell.setCellStyle(cellStyle);
			cell.setEncoding(HSSFCell.ENCODING_UTF_16);
			cell.setCellValue(strs[i]);
		}
		
		try {
			HWB.write(new FileOutputStream("person.xls"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子兮曰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值