java生成Excel

一.利用poi生成excel,介绍一下基本用法

1.HSSFWorkbookworkbook=newHSSFWorkbook();创建工作薄

2.HSSFSheetsheet=workbook.createSheet("工资表");一个sheet最多有65535行

3.HSSFRowrow=sheet.createRow(0);创建行(最顶端,头部);

4.HSSFCellcell=row.createCell((short)0);创建单元格;

5.FileOutputStreamfOut=newFileOutputStream(outputFile);创建流输出文件;

workbook.write(fOut);

fOut.flush();

操作结束,关闭文件  

fOut.close();

需要下载POI的jar文件,引入jar文件拷贝,代码就可以运行。

二.简单例子

Main.java

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 

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 ExcelTest {

	public static int rowNum = 1;
	public static int rowTotalNum = 1;
    private static  HSSFRow row1;
	 
	public static void main(String[] args) {
		
		String fileName = "ExcelTest";
		String outPath ="D:\\";
		List list = new ArrayList();
		HSSFWorkbook hwb = new HSSFWorkbook(); 
		HSSFSheet sheet = hwb.createSheet();
		FileOutputStream fout;
		String excelOutPath = outPath+"\\"+ fileName+".xls";
	    try {
			fout = new FileOutputStream(excelOutPath);
			crateExcel(hwb, sheet, fout);//创建excel
			insertData(fout, excelOutPath, hwb, sheet, list);//向excel插入数据
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
	 	
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	
   public static  void  crateExcel(HSSFWorkbook hwb,HSSFSheet sheet,FileOutputStream fout) throws IOException{
		
		//头部
		row1 = sheet.createRow(0);
		row1.createCell(0).setCellValue(new HSSFRichTextString("序号"));
		row1.createCell(1).setCellValue(new HSSFRichTextString("地址"));
		row1.createCell(2).setCellValue(new HSSFRichTextString("X"));
		row1.createCell(3).setCellValue(new HSSFRichTextString("Y"));
		row1.createCell(4).setCellValue(new HSSFRichTextString("相似度"));
		hwb.write(fout);
	 
	}
    public static  void insertData(FileOutputStream fout,String excelOutPath,HSSFWorkbook hwb,HSSFSheet sheet,List list) throws IOException{
     		
    	fout = new FileOutputStream(excelOutPath);
    	int len =  list.size();
    	for(int i =0;i<100 ;i++){
    		
    		String likeNum = "33";
			String addr = "北京";
			String x_point = "119.3456";
			String y_point = "38.3456";
			
    		HSSFRow row2 = sheet.createRow((rowNum % 50000)+1);// 创建表格的行
    		row2.createCell(0).setCellValue(new HSSFRichTextString(Integer.toString(rowNum)));
    		row2.createCell(1).setCellValue(new HSSFRichTextString(addr));
    		row2.createCell(2).setCellValue(new HSSFRichTextString(x_point));
    		row2.createCell(3).setCellValue(new HSSFRichTextString(y_point));
    		row2.createCell(4).setCellValue(new HSSFRichTextString(likeNum));
    		rowNum++;
    		//一个sheet最多可容65535行 
    		if(rowNum%(65535*rowTotalNum)==0){
    			 
    			rowTotalNum++;
                //创建新的sheet
            	sheet = hwb.createSheet();
            	row1.createCell(0).setCellValue(new HSSFRichTextString("序号"));
        		row1.createCell(1).setCellValue(new HSSFRichTextString("地址"));
        		row1.createCell(2).setCellValue(new HSSFRichTextString("X"));
        		row1.createCell(3).setCellValue(new HSSFRichTextString("Y"));
        		row1.createCell(4).setCellValue(new HSSFRichTextString("相似度"));
 
    		}
    		 
    	}	
  
    	hwb.write(fout);
    	fout.close();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值