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
![输入图片说明](/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包...相关推荐
- 【Java文件操作(七)】序列化:将自定义类写入文件
我的博客--Java文件操作系列 [Java文件操作(一)]递归打印文件目录 [Java文件操作(二)]删除文件夹,但保留其内部文件 [Java文件操作(三)]递归复制文件夹内所有文件 [Java文件 ...
- Java向pdf模板中写入数据并在模板之后添加新的表格内容
场景:我们经常会需要用代码生成pdf文件,涉及到复杂的内容也可以选用先自己制作pdf模板,再用代码去读取,动态数据部分的内容无法用模板实现的就要用Java代码去实现 需求:生成如下的pdf 实现思路: ...
- POI:从Excel文件中读取数据,向Excel文件中写入数据,将Excel表格中的数据插入数据库,将数据库中的数据添加到Excel表
POI 简介: POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能. ...
- python把数据写入excel_Python向excel中写入数据的方法
Python向excel中写入数据的方法 最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 x ...
- python填写excel-Python向excel中写入数据的方法
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- python字符串写入excel-Python向excel中写入数据的方法
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- python向excel写数据_Python向excel中写入数据的方法
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......
在matlab上如何导入excel表格然后画图 工具:matlab 2018b 1.打开matlab,点击主页下面导入数据,可以导入excel数据,在此将自己命名的huitushuju文件导入: 2. ...
- python 写入excel_一行一行整理EXCEL表太麻烦,试试python脚本,1秒写入数据
最近工作中,要整理数据,本来是以sql脚本录入,但是id.barcode等数据不好整理,因为这几个字段要唯一. 所以想到用EXCEL表整理数据,再导入数据库中. 整理的过程中,发现EXCEL一行一行的 ...
最新文章
- 换个姿势学数学:二次函数与拆弹部队
- C#之自己定义的implicit和explicit转换
- mac 系统新功能体验-根据时间变化的动态桌面背景,看壁纸演绎风景大片中的日出与日落
- Java中的状态设计模式
- 笔记本摄像头频闪频灭
- 弹幕有硬伤,转变主流成妄想
- css画钟表_用CSS3实现钟表效果
- 编解码(1)之基本像素格式转换
- 安卓App太能乱来了!被曝一天扫你后台1.3万次:小米系统更新,一不小心扯出惊人真相...
- 恐怖袭击新方式:用笔记本电脑炸飞机
- php 正则保留数字和,只保留汉字,字母,数字正则
- Teradata特殊点归纳
- 前后端分离的考试在线报名管理系统(网上报名系统)
- 赋范线性空间上的有界线性泛函
- 嵌入式软件开发—— 应聘嵌入式软件工程师需要准备些什么?
- 511遇见易语言API模块视频教程进程取ID数组
- 2022年计算机行业报告:虚拟电厂,山雨欲来风满楼
- 最方便最好看最好用的python日志。
- 企业内部岗位晋升简历PPT模板
- 通过poi导出复杂excel既有合并行又有合并列
热门文章
- Python基础语法精心总结!看完都知道的可以往下继续学习了
- 在EXCEL里如何输入X的平方
- 什么是代理模式?代理模式有什么用?通过一个小程序分析静态代理和动态代理。自己简单实现动态代理。JDK动态代理和CGLIB动态代理的区别。
- 手把手详解堆排序,堆就这么难懂?没有人看一遍学不会的,如果学不会,那就两遍吧
- idea运行项目报错Cannot run program “C:\Program Files\Java\jdk1.8.0_121\bin\java.exe......解决办法
- Linux下安装Dubbo运行环境
- java对象数组覆盖_java – 如何覆盖RAML 1.0中的对象数组属性类型
- 抓取html 中文乱码,利用代码抓取网页数据,出现中文乱码问题
- 为什么刹车热了会失灵_汽车为什么要换刹车油?
- sql is null优化_你不会还在用这8个错误的SQL写法吧?