电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java實現導入導出Excel文件的方法(poi,jxl)

瀏覽:137日期:2022-05-26 17:59:28

目前,比較常用的實現Java導入、導出Excel的技術有兩種Jakarta POI和Java Excel直接上代碼:

一,POI

POI是apache的項目,可對微軟的Word,Excel,Ppt進行操作,包括office2003和2007,Excl2003和2007。poi現在一直有更新。所以現在主流使用POI。

xls:

pom:

<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.9</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.2</version></dependency>

導出:

public class PoiCreateExcel { public static void main(String[] args) { // 創建表頭 String[] title = {'id','name','sex'}; //創建Excel工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); //創建一個工作表sheet HSSFSheet sheet = workbook.createSheet(); //創建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell = null; // 插入第一行 for (int i = 0; i < title.length; i++) { cell = row.createCell(i); cell.setCellValue(title[i]); } // 追加數據 for (int i = 1; i < 10; i++) {// 這里的int 起始是1 也就是第二行開始 HSSFRow nexTrow = sheet.createRow(i); HSSFCell cell2 = nexTrow.createCell(0); cell2.setCellValue('a'+i); cell2 = nexTrow.createCell(1); cell2.setCellValue('user'); cell2 = nexTrow.createCell(2); cell2.setCellValue('男'); } // 創建一個文件 File file = new File('d:/poi.xls'); try { file.createNewFile(); // 將內容存盤 FileOutputStream stream = FileUtils.openOutputStream(file); workbook.write(stream); stream.close(); } catch (Exception e) { e.printStackTrace(); } }}

導入:

public class PoiReadExcel { public static void main(String[] args) { // 引入需要解析的文件 File file = new File('d:/poi.xls'); try { // 創建Excel 讀取文件內容 HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file)); /** * 第一種方式讀取Sheet頁 */// HSSFSheet sheet = workbook.getSheet('Sheet0'); /** * 第二種方式讀取Sheet頁 */ HSSFSheet sheet = workbook.getSheetAt(0); int firstRowNum = 0;// 起始行第0行 int lasrRowNum = sheet.getLastRowNum();// 一直讀到最后一行 for (int i = 0; i < lasrRowNum; i++) { HSSFRow row = sheet.getRow(i); // 獲取當前最后單元格列號 int lastCellNum = row.getLastCellNum(); for (int j = 0; j < lastCellNum; j++) { HSSFCell cell = row.getCell(j); String value = cell.getStringCellValue();// 注意! 如果Excel 里面的值是String 那么getStringCellValue 如果是其他類型 則需要修改 System.out.print(value + ' '); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } }}

xlsx:

pom:

<!-- poi高版本額外包 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-examples</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-excelant</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId> <version>3.9</version></dependency>

導出:

public class PoiCreateExcel { public static void main(String[] args) { // 創建表頭 String[] title = {'id','name','sex'}; //創建Excel工作薄 XSSFWorkbook workbook = new XSSFWorkbook(); //創建一個工作表shheet Sheet sheet = workbook.createSheet(); //創建第一行 Row row = sheet.createRow(0); Cell cell = null; // 插入第一行 for (int i = 0; i < title.length; i++) { cell = row.createCell(i); cell.setCellValue(title[i]); } // 追加數據 for (int i = 1; i < 10; i++) {// 這里的int 起始是1 也就是第二行開始 Row nexTrow = sheet.createRow(i); Cell cell2 = nexTrow.createCell(0); cell2.setCellValue('a'+i); cell2 = nexTrow.createCell(1); cell2.setCellValue('user'); cell2 = nexTrow.createCell(2); cell2.setCellValue('男'); } // 創建一個文件 File file = new File('d:/poi.xlsx');// 這里可以修改成高版本的 try { file.createNewFile(); // 將內容存盤 FileOutputStream stream = FileUtils.openOutputStream(file); workbook.write(stream); stream.close(); } catch (Exception e) { e.printStackTrace(); } }}

導入:

public class PoiReadExcel { public List<Double> readExcels(InputStream is)throws Exception{ List<Double> xlsxList = new ArrayList<Double>(); try { if(is ==null){ throw new IOException('文件不正確!'); } Workbook workbook = WorkbookFactory.create(is); FormulaEvaluator fe = workbook.getCreationHelper().createFormulaEvaluator(); //獲取第一張表 Sheet sheet = workbook.getSheetAt(0); if(sheet == null){ throw new IOException('傳入的excel的第一張表為空!'); } for(int rowNum = 0;rowNum <= sheet.getLastRowNum(); rowNum++){ Row row = sheet.getRow(rowNum); if(row != null){ //獲得當前行的開始列 int firstCellNum = row.getFirstCellNum(); //獲得當前行的列數 int lastCellNum = row.getPhysicalNumberOfCells(); String result = ''; //循環當前行 for(int cellNum = firstCellNum; cellNum < lastCellNum;cellNum++){ Cell cell = row.getCell(cellNum); double value = 0; String valueString = cell.getStringCellValue(); if(null!=fe.evaluate(cell)){ value = fe.evaluate(cell).getNumberValue(); } //result = result + cellNum + ':'+value + '----'; result = result + cellNum + ':'+valueString + '----'; } System.out.println(result + ' '); } } is.close(); } catch (FileNotFoundException e) { throw new Exception('文件不正確!'); } return xlsxList; } public static void main(String[] args) throws Exception { InputStream is = new FileInputStream('d:/poi.xlsx'); PoiReadExcel re = new PoiReadExcel(); re.readExcels(is); }}

二,JXL

JXL只能對Excel進行操作,屬于比較老的框架,它只支持到Excel 95-2000的版本?,F在已經停止更新和維護。

pom:

<!-- jxl --><dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.10</version></dependency>

導出:

public class JxlCreateExcel { public static void main(String[] args) { // 首先設置表格第一行 表格頭名稱 也就是列名 String [] title = {'id','name','sex'}; // 創建Excel文件 存入路徑 File file = new File('d:/jxl.xls'); try { file.createNewFile(); // 創建工作薄 WritableWorkbook workbook = Workbook.createWorkbook(file); // 創建sheet WritableSheet sheet = workbook.createSheet('sheet1',0); // 添加數據 Label label = null; // 第一行設置列名 for (int i = 0; i < title.length; i++) { label = new Label(i,0,title[i]); sheet.addCell(label); } // 追加數據 從第二行開始 i從1開始 for (int i = 1; i < 9; i++) { label = new Label(0,i,'id:'+i); sheet.addCell(label); label = new Label(1,i,'user'); sheet.addCell(label); label = new Label(2,i,'男'); sheet.addCell(label); } // 寫入 并在最后關閉流 workbook.write(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } }}

導入:

public class JxlReadExcel { public static void main(String[] args) { try { // 創建 Workbook Workbook workbook = Workbook.getWorkbook(new File('d:/jxl.xls')); // 獲取工作表sheet Sheet sheet = workbook.getSheet(0); // 獲取數據 for (int i = 0; i < sheet.getRows(); i++) {// 獲取行 for (int j = 0; j < sheet.getColumns(); j++) {// 獲取列 Cell cell = sheet.getCell(j,i); System.out.print(cell.getContents() + ' ');// 得到單元格的內容 } System.out.println(); } workbook.close(); } catch (Exception e) { e.printStackTrace(); } }}

到此,代碼可直接部署運行,希望可以幫助到你~

總結

到此這篇關于Java實現導入導出Excel文件的方法(poi,jxl)的文章就介紹到這了,更多相關java實現導入導出excel文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: excel
主站蜘蛛池模板: 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 协议书_协议合同格式模板范本大全 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 结晶点测定仪-润滑脂滴点测定仪-大连煜烁 | 船用烟火信号弹-CCS防汛救生圈-船用救生抛绳器(海威救生设备) | 气动绞车,山东气动绞车,气动绞车厂家-烟台博海石油机械有限公司 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 期货软件-专业期货分析软件下载-云智赢| 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 5nd音乐网|最新流行歌曲|MP3歌曲免费下载|好听的歌|音乐下载 免费听mp3音乐 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 阻燃剂-氢氧化镁-氢氧化铝-沥青阻燃剂-合肥皖燃新材料 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家| 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 |