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

![输入图片说明](/i/o_1cenotbm2pjnq6v13gdm41qs7.png "在这里输入图片标题")

### 2 选择Artifacts -> + -> JAR -> From ...

![输入图片说明](/i/o_1cenovo37kkp1lsu1kruuckbjac.png "在这里输入图片标题")

### 3 在弹起的对话框中选择Main Class,然后一路确定

![输入图片说明](/i/o_1cenp1p1t1b8e1mcf1bg4rj016q8h.png "在这里输入图片标题")

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

![输入图片说明](/i/o_1cenp9ajtq3qi871pfe1d1e15g5m.png "在这里输入图片标题")

打好的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

![输入图片说明](/i/o_1cenotbm2pjnq6v13gdm41qs7.png "在这里输入图片标题")

### 2 选择Artifacts -> + -> JAR -> From ...

![输入图片说明](/i/o_1cenovo37kkp1lsu1kruuckbjac.png "在这里输入图片标题")

### 3 在弹起的对话框中选择Main Class,然后一路确定

![输入图片说明](/i/o_1cenp1p1t1b8e1mcf1bg4rj016q8h.png "在这里输入图片标题")

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

![输入图片说明](/i/o_1cenp9ajtq3qi871pfe1d1e15g5m.png "在这里输入图片标题")

打好的jar包在`out/artifacts/`下

评论(0)

先登录,才能发评论哦~

java excel 操作 jar包_[JAVA]使用POI向Excel中写入数据以及如何在Intellj IDEA中打jar包...相关推荐

  1. 【Java文件操作(七)】序列化:将自定义类写入文件

    我的博客--Java文件操作系列 [Java文件操作(一)]递归打印文件目录 [Java文件操作(二)]删除文件夹,但保留其内部文件 [Java文件操作(三)]递归复制文件夹内所有文件 [Java文件 ...

  2. Java向pdf模板中写入数据并在模板之后添加新的表格内容

    场景:我们经常会需要用代码生成pdf文件,涉及到复杂的内容也可以选用先自己制作pdf模板,再用代码去读取,动态数据部分的内容无法用模板实现的就要用Java代码去实现 需求:生成如下的pdf 实现思路: ...

  3. POI:从Excel文件中读取数据,向Excel文件中写入数据,将Excel表格中的数据插入数据库,将数据库中的数据添加到Excel表

    POI 简介: POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能. ...

  4. python把数据写入excel_Python向excel中写入数据的方法

    Python向excel中写入数据的方法 最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 x ...

  5. python填写excel-Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  6. python字符串写入excel-Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  7. python向excel写数据_Python向excel中写入数据的方法

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  8. matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......

    在matlab上如何导入excel表格然后画图 工具:matlab 2018b 1.打开matlab,点击主页下面导入数据,可以导入excel数据,在此将自己命名的huitushuju文件导入: 2. ...

  9. python 写入excel_一行一行整理EXCEL表太麻烦,试试python脚本,1秒写入数据

    最近工作中,要整理数据,本来是以sql脚本录入,但是id.barcode等数据不好整理,因为这几个字段要唯一. 所以想到用EXCEL表整理数据,再导入数据库中. 整理的过程中,发现EXCEL一行一行的 ...

最新文章

  1. ccat – 使用语法突出显示输出内容
  2. 和USB设备建立通信的过程
  3. Spring Remoting: Hessian--转
  4. Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动【附带实例源码】...
  5. OpenCASCADE:形状愈合之用于修复、分析和升级的辅助工具
  6. mysql起止时间怎么写_【Mysql 学习】日期函数函数
  7. 实验14:访问CMOS RAM显示当前日期和时间
  8. ArrayList的使用方法【转载】
  9. 解决QT5中文显示出现乱码
  10. python列表中存类对象_Python DataFrame或用于存储对象的列表
  11. 推荐几个在大厂996,却一心想要按时下班的公众号主和他们的工作(摸鱼)心得...
  12. apache 设置缓存
  13. DataGridView的列宽设置
  14. 灵玖软件:九眼智能文档核查云平台上线了
  15. Web.config配置详解
  16. P3332 [ZJOI2013]K大数查询
  17. MicroPython之ADS1115+平滑滤波NTC温度采集
  18. [置顶] 中国象棋程序的设计与实现(高级版)(项目截图)
  19. amd超频软件LINUX,AMD官方超频工具下载_AMD OverDrive 超频工具-PChome下载中心
  20. 如何成为一个好的IT培训老师

热门文章

  1. RS(纠删码)技术浅析及Python实现
  2. 利用正则表达式实现python强口令检测
  3. 200行自定义异步非阻塞Web框架
  4. python数据类型详解(全面)
  5. C语言signal()函数(通过设置一个函数(回调函数)来处理捕获到异常信号时需要执行的操作)
  6. opencv 图像分割 阈值分割 图像二值化 灰度图
  7. Python 中的基础语句
  8. PyQt4编程之如何让状态栏显示信息
  9. Spring @Import 注解使用详解
  10. 正则判断是否有html标签,正则表达式匹配所有HTML标签,除了和