java excel 操作 jar包_[JAVA]使用POI向Excel中写入数据以及如何在Intellj IDEA中打jar包...
freddon
發表于2018-05-30
閱讀 1383 |
評論 0
給GF寫的,現在記錄下POI操作Excel讀寫過程;以及如何在Intellj IDEA中打jar包
代碼如下:
```
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;
import java.io.*;
import java.util.Arrays;
/**
* Jmeter輸出報告到Excel
* Created by betty on 2018/5/29.
*/
public class JmeterRpt {
/**
* 在外層可以通過調用 JmeterRpt.__OUTPUT_FILE_PATH__="路徑" 修改文件路徑
*/
public static final String __OUTPUT_FILE_PATH__ = "/Users/fred/craft/JavaIDEA/JavaTrials/result.xls";
/**
* 命令行模式 調用 java -jar [程序.jar] 參數1 參數2 參數3 參數4
*
* @param args
*/
public static void main(String[] args) {
if (args != null)
insertData(args);
// else {
// insertData("1", "12", "13", "14");
// }
}
/**
* //提供api方法 刪除文件 供外部調用
*
* @return 是否刪除成功
*/
public static Boolean removeFile() {
File file = new File(__OUTPUT_FILE_PATH__);
if (file.exists()) {
return file.delete();
}
return true;
}
/**
* 表格中插入一行可變個數數據方法,提供api供外部調用;
* 例:
*
* JmeterRpt.insertData("a","b","c") //一行中前3列數據
* JmeterRpt.insertData("a","b","c","d","e") //一行中前5列數據
*
*
* @param params 列數據
* @return 是否成功
*/
public static Boolean insertData(String... params) {
if (workbook == null) {
init();
}
HSSFRow row = genRow(rowNum++, params);
try {
writeFile(workbook);
} catch (IOException e) {
return false;
}
return row != null;
}
//api所調用的追加行數據方法 生成數據
private static HSSFWorkbook workbook;
private static HSSFSheet sheet;
private static int rowNum = 0;
//生成全局唯一的表格
private static void init() {
rowNum = 0;
//如果文件存在
File file = new File(__OUTPUT_FILE_PATH__);
if (!file.exists()) {
workbook = new HSSFWorkbook();
sheet = workbook.createSheet();
//創建表頭
genHead("requestName", "input", "responseCode", "responseData");
rowNum++;
//寫數據到文件
try {
writeFile(workbook);
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
FileInputStream inp = new FileInputStream(__OUTPUT_FILE_PATH__);
workbook = new HSSFWorkbook(inp);
sheet = workbook.getSheetAt(0);
if (sheet != null) {
//不要使用sheet.getLastRowNum()獲取最大行數
rowNum = sheet.getPhysicalNumberOfRows();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 創建表頭
* 可以手動在執行init后調用 更改表頭
* 使用場景:
* 因為表頭的列數是可變的,在不同的場景,要顯示的列數不相同
*
* @param rowDatas
* @return
*/
public static HSSFRow genHead(String... rowDatas) {
if (workbook == null) {
init();
}
return genRow(0, rowDatas);
}
/**
* 創建一行
*
* @param rowDatas
* @return
*/
private static HSSFRow genRow(int rows, String... rowDatas) {
HSSFRow row = sheet.createRow(rows);
for (int i = 0, colsLen = rowDatas.length; i < colsLen; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue(rowDatas[i]);
}
return row;
}
/**
* 輸出到文件
*
* @param workbook
* @throws IOException
*/
private static void writeFile(HSSFWorkbook workbook) throws IOException {
FileOutputStream file = new FileOutputStream(__OUTPUT_FILE_PATH__);
workbook.write(file);
file.close();
}
}
```
順便提下,如何在Intellj Idea中打jar包:
### 1 右鍵項目->Open Module Settings

### 2 選擇Artifacts -> + -> JAR -> From ...

### 3 在彈起的對話框中選擇Main Class,然后一路確定

### 4 最后一步,build打jar包

打好的jar包在`out/artifacts/`下
分類 :日常記錄
代碼如下:
```
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;
import java.io.*;
import java.util.Arrays;
/**
* Jmeter輸出報告到Excel
* Created by betty on 2018/5/29.
*/
public class JmeterRpt {
/**
* 在外層可以通過調用 JmeterRpt.__OUTPUT_FILE_PATH__="路徑" 修改文件路徑
*/
public static final String __OUTPUT_FILE_PATH__ = "/Users/fred/craft/JavaIDEA/JavaTrials/result.xls";
/**
* 命令行模式 調用 java -jar [程序.jar] 參數1 參數2 參數3 參數4
*
* @param args
*/
public static void main(String[] args) {
if (args != null)
insertData(args);
// else {
// insertData("1", "12", "13", "14");
// }
}
/**
* //提供api方法 刪除文件 供外部調用
*
* @return 是否刪除成功
*/
public static Boolean removeFile() {
File file = new File(__OUTPUT_FILE_PATH__);
if (file.exists()) {
return file.delete();
}
return true;
}
/**
* 表格中插入一行可變個數數據方法,提供api供外部調用;
* 例:
*
* JmeterRpt.insertData("a","b","c") //一行中前3列數據
* JmeterRpt.insertData("a","b","c","d","e") //一行中前5列數據
*
*
* @param params 列數據
* @return 是否成功
*/
public static Boolean insertData(String... params) {
if (workbook == null) {
init();
}
HSSFRow row = genRow(rowNum++, params);
try {
writeFile(workbook);
} catch (IOException e) {
return false;
}
return row != null;
}
//api所調用的追加行數據方法 生成數據
private static HSSFWorkbook workbook;
private static HSSFSheet sheet;
private static int rowNum = 0;
//生成全局唯一的表格
private static void init() {
rowNum = 0;
//如果文件存在
File file = new File(__OUTPUT_FILE_PATH__);
if (!file.exists()) {
workbook = new HSSFWorkbook();
sheet = workbook.createSheet();
//創建表頭
genHead("requestName", "input", "responseCode", "responseData");
rowNum++;
//寫數據到文件
try {
writeFile(workbook);
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
FileInputStream inp = new FileInputStream(__OUTPUT_FILE_PATH__);
workbook = new HSSFWorkbook(inp);
sheet = workbook.getSheetAt(0);
if (sheet != null) {
//不要使用sheet.getLastRowNum()獲取最大行數
rowNum = sheet.getPhysicalNumberOfRows();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 創建表頭
* 可以手動在執行init后調用 更改表頭
* 使用場景:
* 因為表頭的列數是可變的,在不同的場景,要顯示的列數不相同
*
* @param rowDatas
* @return
*/
public static HSSFRow genHead(String... rowDatas) {
if (workbook == null) {
init();
}
return genRow(0, rowDatas);
}
/**
* 創建一行
*
* @param rowDatas
* @return
*/
private static HSSFRow genRow(int rows, String... rowDatas) {
HSSFRow row = sheet.createRow(rows);
for (int i = 0, colsLen = rowDatas.length; i < colsLen; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue(rowDatas[i]);
}
return row;
}
/**
* 輸出到文件
*
* @param workbook
* @throws IOException
*/
private static void writeFile(HSSFWorkbook workbook) throws IOException {
FileOutputStream file = new FileOutputStream(__OUTPUT_FILE_PATH__);
workbook.write(file);
file.close();
}
}
```
順便提下,如何在Intellj Idea中打jar包:
### 1 右鍵項目->Open Module Settings

### 2 選擇Artifacts -> + -> JAR -> From ...

### 3 在彈起的對話框中選擇Main Class,然后一路確定

### 4 最后一步,build打jar包

打好的jar包在`out/artifacts/`下
評論(0)
先登錄,才能發評論哦~
總結
以上是生活随笔為你收集整理的java excel 操作 jar包_[JAVA]使用POI向Excel中写入数据以及如何在Intellj IDEA中打jar包...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java选择题答案_Java习题附答案
- 下一篇: java 日期计算类_java日期计算工