1. 程式人生 > >JAVA讀取、寫入Excel表格(含03版)

JAVA讀取、寫入Excel表格(含03版)

引言

工作中可能會遇到對Excel讀取和寫入,如果我們自己手動寫的話,會很麻煩,但是Apache中有poi工具類。poi工具類封裝好了對於Excel讀取和寫入,我們需要用的時候,直接呼叫該方法就好了。
注:03和07的寫法不一致。
區別如下

        // HSSFWorkbook 2003的excel .xls,XSSFWorkbook匯入2007的excel   .xlsx
        HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file)));
        XSSFWorkbook workbook=new
XSSFWorkbook(new FileInputStream(new File(file))));

程式碼實現

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

import org.apache.poi.ss.usermodel.Cell;
import
org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import com.alibaba.fastjson.JSONObject; /** * * Title: excelTest * Description: excel表格讀取 * 注意:引用poi 架包版本要一致 * 如: * poi-3.13.jar * poi-ooxml-3.13.jar * poi-ooxml-schemas-3.13.jar * poi-scratchpad-3.13.jar * 這些架包版本隨意 * stax-api.jar * xmlbeans.jar * dom4j.jar * Version:1.0.0 * @author
pancm */
public class excelTest { private static final String path="D:\\file\\test.xlsx"; private static final String path1="D:\\file\\test1.xlsx"; public static void main(String[] args) throws FileNotFoundException, IOException { readExcel(path); writeExcel(path1); } /** * 讀取Excel表格內容 * @throws FileNotFoundException * @throws IOException */ @SuppressWarnings({ "rawtypes", "unchecked" }) private static void readExcel(String str) throws FileNotFoundException, IOException{ File file=new File(str); // HSSFWorkbook 2003的excel .xls,XSSFWorkbook匯入2007的excel .xlsx // HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file))); XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(file)); Sheet sheet=workbook.getSheetAt(0);//讀取第一個 sheet List list= new ArrayList<>(); Row row=null; int count=sheet.getPhysicalNumberOfRows(); //逐行處理 excel 資料 for (int i = 1; i <count; i++) { JSONObject json=new JSONObject(); row=sheet.getRow(i); Cell cell0 = row.getCell(0); //設定取值為String //整數資料要轉,否則會變成浮點數 cell0.setCellType(Cell.CELL_TYPE_STRING); Cell cell1 = row.getCell(1); cell1.setCellType(Cell.CELL_TYPE_STRING); json.put("Id",cell0.toString()); //編號 json.put("Name",cell1.toString()); //名稱 list.add(json); System.out.println("json:"+json); } workbook.close(); System.out.println("list:"+list); } /** * 寫入Excel表格內容 * @throws FileNotFoundException * @throws IOException */ @SuppressWarnings({ "resource", "rawtypes", "unchecked" }) private static void writeExcel(String str) throws FileNotFoundException, IOException{ File file=new File(str); // HSSFWorkbook 2003的excel .xls,XSSFWorkbook匯入2007的excel .xlsx // HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file))); XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(file)); List resultList =new ArrayList<>(); Sheet sheet1 = workbook.createSheet();//建立 sheet 物件 Row row = sheet1.createRow(0);//第一行,標題 row.createCell(0).setCellValue("A"); row.createCell(1).setCellValue("B"); row.createCell(2).setCellValue("C"); row.createCell(3).setCellValue("D"); row.createCell(4).setCellValue("E"); //拼接資料 for(int i=1;i<=10;i++){ JSONObject json1=new JSONObject(); json1.put("A", i); json1.put("B", i*2); json1.put("C", i*3); json1.put("D", i*4); json1.put("E", i*5); resultList.add(json1); } System.out.println("resultList:"+resultList); Row row1; for (int i = 1, len = resultList.size(); i <=len; i++) {//迴圈建立資料行 //因為第一行已經設定了,所以從第二行開始 row1 = sheet1.createRow(i); JSONObject json=(JSONObject) resultList.get(i-1); row1.createCell(0).setCellValue(json.getString("A")); row1.createCell(1).setCellValue(json.getString("B")); row1.createCell(2).setCellValue(json.getString("C")); row1.createCell(3).setCellValue(json.getString("D")); row1.createCell(4).setCellValue(json.getString("E")); } FileOutputStream fos = new FileOutputStream(path1); workbook.write(fos);//寫檔案 fos.close(); System.out.println("寫入成功!"); } }

示例圖

讀取Excel

新建一個Excel表格,設定表格內容。
這裡寫圖片描述

關閉此Excel,執行程式碼,列印獲取的資料。
這裡寫圖片描述

寫入Excel

建立一個新的Excel。
這裡寫圖片描述

關閉此Excel,執行程式碼
這裡寫圖片描述

再次開啟此Excel
這裡寫圖片描述

相關推薦

JAVA讀取寫入Excel表格(03)

引言 工作中可能會遇到對Excel讀取和寫入,如果我們自己手動寫的話,會很麻煩,但是Apache中有poi工具類。poi工具類封裝好了對於Excel讀取和寫入,我們需要用的時候,直接呼叫該方法就好了。 注:03和07的寫法不一致。 區別如下

Java讀取寫入處理Excel檔案中的資料

 在日常工作中,我們常常會進行檔案讀寫操作,除去我們最常用的純文字檔案讀寫,更多時候我們需要對Excel中的資料進行讀取操作,本文將介紹Excel讀寫的常用方法,希望對大家學習Java讀寫Excel會有幫助。        在開始進行Java讀寫Excel前,我

python模組:xlsxwriter和xlrd相結合讀取寫入excel檔案

python模組簡單說明: xlsxwriter:負責寫入資料 xlrd:負責讀取資料 xlsxwriter 官方文件:http://xlsxwriter.readthedocs.org 本例項是剛寫出來的,目前比較粗糙。 寫這例項主要是結合平時工作內容,把

使用JAVA讀取寫入EXCEL檔案

首先要下載 poi包和jxl包 讀取部分: import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNot

java讀取寫入excel(.xls .xlsx)

maven依賴: 首先在maven中新增: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <gro

Java 讀取寫入 本地檔案,圖片

一、java方式 二、java.io方式 demo.class.getClassLoader().getResource("fixture").getFile(); #從根目錄下開始,讀取target目錄下的檔案 一、java方式 1、使用FileWriter類寫文

Java中IO流文件讀取寫入和復制

復制 循環 int files catch class close brush system //構造文件File類 File f=new File(fileName); //判斷是否為目錄 f.isDirectory(); //獲取目錄下的文件名 String[] fil

Java配置檔案Properties的讀取寫入與更新操作

/**   * 實現對Java配置檔案Properties的讀取、寫入與更新操作   */    package test;     &nbs

POI操作Excel文件讀取寫入合併單元格

一、POI專案簡介 POI全稱 Poor Obfuscation Implementation,利用POI介面可以通過JAVA操作Microsoft office 套件工具的讀寫功能。官網:http:/

java基於poi的excel表格處理(自定義註解針對List與enum進行處理)

Java基於poi的excel表格處理 背景: 由於網上太少有方便的工具來操作了,所以手動造了個輪子… 例子: 說明: 在欄位上新增@ExcelInfo註解,其中row為“行數-1”,col為“列數-1”。 如需進行特

python 讀取txt檔案,將內容寫入excel表格

# -*- coding: UTF-8 -*- import os import time import openpyxl as openpyxl Parser_version = 'version_1.0' print Parser_version items = os.listdir(".")

java利用poi開源庫實現將資料集寫入Excel表格並儲存在本地

一,目前主流的關於讀寫excel表格的有poi 和jxl開源庫,這裡只是簡單的介紹如何poi將資料集寫進Excel表格,並存進本地。 二,官網下載poi的相關jar包,網址 http://poi.apache.org/download.html#POI-4.0.1 &nb

java檔案建立刪除讀取寫入操作大全

複製檔案 1.以檔案流的方式複製檔案 public void copyFile(String src,String dest) throws IOException...{          FileInputStream in=new FileInputStream(s

java緩衝位元組流複製檔案,逐個位元組讀取寫入

package cwj.bbb; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja

呼叫JAVA API 對 HDFS 進行檔案的讀取寫入上傳下載刪除等操作

Hadoop檔案系統 基本的檔案系統命令操作, 通過hadoop fs -help可以獲取所有的命令的詳細幫助檔案。 Java抽象類org.apache.hadoop.fs.FileSystem定義了hadoop的一個檔案系統介面。該類是一個抽象類,通過以下兩種靜態工廠方法

Python3讀取寫入追加寫入Excel檔案

一、需要用到的庫: 1.操作xls格式的表格檔案: 讀取:xlrd 寫入:xlwt 修改(追加寫入):xlutils 2.操作xlsx格式的表格檔案: 讀取/寫入:openpyxl 二、實現程式碼 1.操作xls格式的表格檔案: # coding=UTF-8

演算法-(java)-從檔案中讀取寫入資料

1.m的n次冪表示 在演算法題中經常遇到10的n次冪,java中計算中,有一個函式,返回double型別,math.pow(m,n),m為基數,n為冪次方。這樣打印出結果,會打印出帶e的數字,如果想要實際顯示,可用BigDecimal(BigDecimal r

Java 新增讀取刪除Excel形狀

本文介紹通過java程式在excel中操作形狀(圖形)的方法,包括: 1. 新增形狀(如設定形狀型別/位置/大小、形狀顏色填充(單色/漸變色/紋理/圖片填充)、形狀顯示或隱藏、形狀傾斜角度、新增文字到形狀、形狀陰影等) 2. 讀取形狀中的文字和圖片 3. 刪除形狀(刪除指定或全部形狀)   工具:S

Java 新增讀取刪除Excel文件屬性

在文件屬性中,可以設定諸多關於文件的資訊,如建立時間、作者、單位、類別、關鍵詞、備註等摘要資訊以及一些自定義的文件屬性。下面將通過Java程式來演示如何設定,同時對文件內的已有資訊,也可以實現讀取和刪除等操作。 示例大綱: 1. 新增文件屬性   1.1 新增摘要資訊   1.2 新增自定

Java 新增讀取刪除Excel圖片

本文介紹在Java程式中如何新增圖片到excel表格,新增圖片時可設定圖片大小、位置、旋轉、超連結、可選文字等,以及如何讀取、刪除excel表格中已有的圖片。   工具:Free Spire.XLS for Java (免費版) 注:可通過官網下載包,並解壓將lib資料夾下的jar檔案匯入java程