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