最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)讀取及生成Excel文件的方法

 更新時間:2017年12月20日 13:56:50   作者:xxiaowen  
這篇文章主要介紹了Java實(shí)現(xiàn)讀取及生成Excel文件的方法,結(jié)合實(shí)例形式分析了java通過引入第三方j(luò)ar包poi-3.0.1-FINAL-20070705.jar實(shí)現(xiàn)針對Excel文件的讀取及生成功能,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)讀取及生成Excel文件的方法。分享給大家供大家參考,具體如下:

一、讀取Excel文件

需要先下載poi-3.0.1-FINAL-20070705.jar(點(diǎn)擊此處本站下載poi-3.0.1-FINAL-20070705.jar。)

ExcelExamRead.java

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelExamRead {
/** 讀Excel文件內(nèi)容 */
public void showExcel(String excelName) {
File file = new File(excelName);
FileInputStream in = null;
try {
// 創(chuàng)建對Excel工作簿文件的引用
in = new FileInputStream(file);
HSSFWorkbook hwb = new HSSFWorkbook(in);
HSSFSheet sheet = hwb.getSheet("myFirstExcel");// 根據(jù)指定的名字來引用此Excel中的有效工作表
// 讀取Excel 工作表的數(shù)據(jù)
System.out.println("下面是Excel文件" + file.getAbsolutePath() + "的內(nèi)容:");
HSSFRow row = null;
HSSFCell cell = null;
int rowNum = 0; 
// 行標(biāo)
int colNum = 0; 
// 列標(biāo)
for (; rowNum < 9; rowNum++) {
// 獲取第rowNum行
row = sheet.getRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
cell = row.getCell((short) colNum);// 根據(jù)當(dāng)前行的位置來創(chuàng)建一個單元格對象
System.out.print(cell.getStringCellValue() + "\t");// 獲取當(dāng)前單元格中的內(nèi)容
}
System.out.println(); // 換行
}
in.close();
} catch (Exception e) {
System.out
.println("讀取Excel文件" + file.getAbsolutePath() + "失?。? + e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) {
}
}
}
}
public static void main(String[] args) {
ExcelExamRead excel = new ExcelExamRead();
String excelName = "D:/ExcelExamRead.xls";
excel.showExcel(excelName);
}
}

二、生成Excel文件

ExcelExamWrite.java:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.hssf.util.Region;
//創(chuàng)建Excel文件
public class ExcelExamWrite {
// 新建一個Excel文件,里面添加5行5列的內(nèi)容,另外添加一個合并2行5列的大單元格以及一個合并2行1列的5個合并單元格。
public void createExcel(String fileName) {
File file = new File(fileName);// 創(chuàng)建excel文件對象
FileOutputStream fOut = null;
try {
// 創(chuàng)建一個新的HSSFWorkbook對象
HSSFWorkbook workbook = new HSSFWorkbook();
// 創(chuàng)建一個Excel的工作表,可以指定工作表的名字
HSSFSheet sheet = workbook.createSheet("myFirstExcel");
// 創(chuàng)建字體,紅色、粗體
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFFont font1 = workbook.createFont();
// 創(chuàng)建字體,黑色、非粗體
font1.setColor(HSSFFont.COLOR_NORMAL);
font1.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
// 創(chuàng)建單元格的格式,如居中、左對齊等
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平方向上居中對齊
// 垂直方向上居中對齊
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
cellStyle.setFont(font); // 設(shè)置字體
HSSFCellStyle cellStyle1 = workbook.createCellStyle();
cellStyle1.setAlignment(HSSFCellStyle.ALIGN_LEFT);
cellStyle1.setFont(font1);
// 下面將建立一個4行3列的表。第一行為表頭。
int rowNum = 0;// 行標(biāo)
int colNum = 0;// 列標(biāo)
// 建立表頭信息
HSSFRow row = sheet.createRow((short) rowNum); // 在索引0的位置創(chuàng)建行
HSSFCell cell = null; // 單元格
for (colNum = 0; colNum < 5; colNum++) {
// 在當(dāng)前行的colNum列上創(chuàng)建單元格
cell = row.createCell((short) colNum);
// 定義單元格為字符類型,也可以指定為日期類型、數(shù)字類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 定義編碼方式,為了支持中文,這里使用了ENCODING_UTF_16
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle); // 為單元格設(shè)置格式
cell.setCellValue("表頭-第" + (colNum + 1) + "列"); // 添加內(nèi)容至單元格
}
rowNum++;
for (; rowNum < 5; rowNum++) {
// 新建第rowNum行
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
// 在當(dāng)前行的colNum位置創(chuàng)建單元格
cell = row.createCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle1);
cell.setCellValue("表體-第" + rowNum + "行第" + (colNum + 1)
+ "列");
}
}
// 合并單元格
// 先創(chuàng)建2行5列的單元格,然后將這些單元格合并為2個大單元格
rowNum = 5;
for (; rowNum < 9; rowNum++) {
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
// 在當(dāng)前行的colNum位置創(chuàng)建單元格
cell = row.createCell((short) colNum);
}
}
// 建立第一個大單元格,高度為2,寬度為2
rowNum = 5;
colNum = 0;
Region region = new Region(rowNum, (short) colNum, (rowNum + 1),
(short) (colNum + 4));
sheet.addMergedRegion(region);
// 獲得第一個大單元格
cell = sheet.getRow(rowNum).getCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
cell.setCellValue("合并行單元格");
// 建立第二個大單元格,高度為2,寬度為3
rowNum = 7;
for (colNum = 0; colNum < 5; colNum++) {
region = new Region(rowNum, (short) colNum, (rowNum + 1),
(short) (colNum));
sheet.addMergedRegion(region);
// 獲得第二個大單元格
cell = sheet.getRow(rowNum).getCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
cell.setCellValue("合并列單元格");
}
// 新建一輸出文件流
fOut = new FileOutputStream(file);
// 將創(chuàng)建的內(nèi)容寫到指定的Excel文件中
workbook.write(fOut);
fOut.flush();
fOut.close();// 操作結(jié)束,關(guān)閉文件
System.out.println("Excel文件創(chuàng)建成功!\nExcel文件的存放路徑為:"
+ file.getAbsolutePath());
} catch (Exception e) {
System.out.println("Excel文件" + file.getAbsolutePath()
+ "創(chuàng)建失敗\n其原因?yàn)椋? + e);
} finally {
if (fOut != null) {
try {
fOut.close();
} catch (IOException e1) {
}
}
}
}
public static void main(String[] args) throws Exception {
ExcelExamWrite excel = new ExcelExamWrite();
String fileName = "e:/ExcelExamWrite.xls";
excel.createExcel(fileName);
}
}

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java操作Excel技巧總結(jié)》、《Java+MySQL數(shù)據(jù)庫程序設(shè)計總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java文件與目錄操作技巧匯總》及《Java操作DOM節(jié)點(diǎn)技巧總結(jié)

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • maven三個常用的插件使用介紹

    maven三個常用的插件使用介紹

    大家好,本篇文章主要講的是maven三個常用的插件使用介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 深入理解Swift中的Substring和String

    深入理解Swift中的Substring和String

    這篇文章主要給大家深入的介紹了Swift中Substring和String的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • SpringBoot如何在運(yùn)行時動態(tài)添加數(shù)據(jù)源

    SpringBoot如何在運(yùn)行時動態(tài)添加數(shù)據(jù)源

    這篇文章主要介紹了SpringBoot如何在運(yùn)行時動態(tài)添加數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Java線程協(xié)調(diào)運(yùn)行操作實(shí)例詳解

    Java線程協(xié)調(diào)運(yùn)行操作實(shí)例詳解

    這篇文章主要介紹了Java線程協(xié)調(diào)運(yùn)行操作,結(jié)合具體實(shí)例形式詳細(xì)分析了Java線程協(xié)調(diào)運(yùn)行原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • java String的深入理解

    java String的深入理解

    這篇文章主要介紹了java String的深入理解的相關(guān)資料,希望通過本文大家能理解String的用法,需要的朋友可以參考下
    2017-09-09
  • Java設(shè)計模式之備忘錄模式_動力節(jié)點(diǎn)Java學(xué)院

    Java設(shè)計模式之備忘錄模式_動力節(jié)點(diǎn)Java學(xué)院

    我們在編程的時候,經(jīng)常需要保存對象的中間狀態(tài),當(dāng)需要的時候,可以恢復(fù)到這個狀態(tài)。接下來通過本文給大家分享java設(shè)計模式之備忘錄模式,感興趣的的朋友一起看看吧
    2017-08-08
  • idea社區(qū)版如何設(shè)置vm?options

    idea社區(qū)版如何設(shè)置vm?options

    這篇文章主要介紹了idea社區(qū)版如何設(shè)置vm?options問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • IDEA 熱部署設(shè)置(JRebel插件激活)

    IDEA 熱部署設(shè)置(JRebel插件激活)

    這篇文章主要介紹了IDEA 熱部署設(shè)置(JRebel插件激活),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別

    淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別

    下面小編就為大家分享一篇淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別,具有很好的參考價值。希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • Java 讀取文本指定的某一行內(nèi)容的方法

    Java 讀取文本指定的某一行內(nèi)容的方法

    今天小編就為大家分享一篇Java 讀取文本指定的某一行內(nèi)容的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論

黑河市| 威宁| 分宜县| 调兵山市| 吉水县| 遵义县| 闻喜县| 全州县| 浦县| 锦屏县| 饶平县| 玛多县| 满洲里市| 河北省| 霸州市| 高清| 浦东新区| 郑州市| 太和县| 曲麻莱县| 凯里市| 阿鲁科尔沁旗| 辽阳县| 河北区| 天峨县| 璧山县| 吴桥县| 柘城县| 岑巩县| 湾仔区| 合江县| 沾化县| 东丽区| 古交市| 陇西县| 丘北县| 阿合奇县| 彩票| 海伦市| 东明县| 五华县|