如何进行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/
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。