温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行java Excel操作

发布时间:2021-10-19 15:42:08 来源:亿速云 阅读:151 作者:柒染 栏目:大数据

如何进行java Excel操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. 写Excel 

 1.1 引入Excel  的相关文件

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CreationHelper;

 1.2 相关实用方法:

 public static void wirteExcel() throws Exception{
    	//创建一个工作簿 即excel文件,再在该文件中创建一个sheet
    			HSSFWorkbook wb=new HSSFWorkbook();
    			HSSFSheet sheet=wb.createSheet("第一个sheet");
    			//在sheet中创建一行
    			HSSFRow row=sheet.createRow(0);
    			
    			//在该行写入各种类型的数据
    			row.createCell(0).setCellValue(true);
    			row.createCell(1).setCellValue("钟林森");
    			row.createCell(2).setCellValue(23);
    			
    			//设置保留两位小数
    			HSSFCell cell=row.createCell(3);
    		        cell.setCellValue(6000);
    	                HSSFCellStyle cellStyle = wb.createCellStyle();
    	                cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
    	                cell.setCellStyle(cellStyle);
    			
    			//在写入 日期格式的 数据需要进行特殊处理(这是一种 简单的处理方式)
    			CreationHelper createHelper=wb.getCreationHelper();
    			HSSFCellStyle style=wb.createCellStyle();
    			style.setDataFormat(createHelper.createDataFormat().getFormat("yyyy-MM-dd"));
    			
    			cell=row.createCell(4);
    			cell.setCellValue(new Date());
    			cell.setCellStyle(style);
    			
    			//最后写回磁盘
    			FileOutputStream out=new FileOutputStream("E:\\excel写数据.xls");
    			wb.write(out);
    			out.close();
    			
    			System.out.println("写完了!");
    }

public static void writeExcelList(List<String> title,String sheetName,
		 String filepath,List<Map<String,Object>> list){
	  // 创建一个工作簿 即excel 文件,再在该文件中创建一个sheet
	 	 HSSFWorkbook wb = new HSSFWorkbook();
	     HSSFSheet sheet = wb.createSheet(sheetName);
	     // 表头生成
         HSSFRow row_0 = sheet.createRow(0);
         for(int j=0;j<title.size();j++){
        	 row_0.createCell(j).setCellValue(title.get(j));
         } 
         // 表中每行得数据
        for(int i =0;i<list.size();i++){
        	HSSFRow row = sheet.createRow(i+1);
        	for(int j=0;j<title.size();j++){
   			 Object obj = list.get(i).get(title.get(j));
        	 row.createCell(j).setCellValue(obj.toString());
        	}
        }

	   //最后写回磁盘
			FileOutputStream out;
			try {
				out = new FileOutputStream("E:\\excel写数据.xls");
				wb.write(out);
				out.close();
				System.out.println("写完了!");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				
				e.printStackTrace();
			}
 }

1.3 测试:

public static void main(String[] args) throws Exception{
		List<String> title = new ArrayList<String>();
		title.add("price");
		title.add("num");
		title.add("amount");
		List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("price", "12");
		map.put("num", "12");
		map.put("amount", 120);
		list.add(map);
		Map<String,Object> map1 = new HashMap<String,Object>();
		map1.put("price", "11");
		map1.put("num", "11");
		map1.put("amount", 110);
		list.add(map1);
     	writeExcelList(title,"库存成本","E:\\excel写数据.xls",list);
//		wirteExcel();
	}

2.API 查看:

https://poi.apache.org/apidocs/3.17/

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI