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. 换个姿势学数学:二次函数与拆弹部队
  2. C#之自己定义的implicit和explicit转换
  3. mac 系统新功能体验-根据时间变化的动态桌面背景,看壁纸演绎风景大片中的日出与日落
  4. Java中的状态设计模式
  5. 笔记本摄像头频闪频灭
  6. 弹幕有硬伤,转变主流成妄想
  7. css画钟表_用CSS3实现钟表效果
  8. 编解码(1)之基本像素格式转换
  9. 安卓App太能乱来了!被曝一天扫你后台1.3万次:小米系统更新,一不小心扯出惊人真相...
  10. 恐怖袭击新方式:用笔记本电脑炸飞机
  11. php 正则保留数字和,只保留汉字,字母,数字正则
  12. Teradata特殊点归纳
  13. 前后端分离的考试在线报名管理系统(网上报名系统)
  14. 赋范线性空间上的有界线性泛函
  15. 嵌入式软件开发—— 应聘嵌入式软件工程师需要准备些什么?
  16. 511遇见易语言API模块视频教程进程取ID数组
  17. 2022年计算机行业报告:虚拟电厂,山雨欲来风满楼
  18. 最方便最好看最好用的python日志。
  19. 企业内部岗位晋升简历PPT模板
  20. 通过poi导出复杂excel既有合并行又有合并列

热门文章

  1. Python基础语法精心总结!看完都知道的可以往下继续学习了
  2. 在EXCEL里如何输入X的平方
  3. 什么是代理模式?代理模式有什么用?通过一个小程序分析静态代理和动态代理。自己简单实现动态代理。JDK动态代理和CGLIB动态代理的区别。
  4. 手把手详解堆排序,堆就这么难懂?没有人看一遍学不会的,如果学不会,那就两遍吧
  5. idea运行项目报错Cannot run program “C:\Program Files\Java\jdk1.8.0_121\bin\java.exe......解决办法
  6. Linux下安装Dubbo运行环境
  7. java对象数组覆盖_java – 如何覆盖RAML 1.0中的对象数组属性类型
  8. 抓取html 中文乱码,利用代码抓取网页数据,出现中文乱码问题
  9. 为什么刹车热了会失灵_汽车为什么要换刹车油?
  10. sql is null优化_你不会还在用这8个错误的SQL写法吧?