找到一个博主发的,下载好后去掉.zip后缀
jxl.jar下载 - 天青色wy - 博客园 https://www.cnblogs.com/wangyi0419/p/12001258.html
另一个博主的教程,按第一个就可以
https://blog.csdn.net/hwt1070359898/article/details/90517291
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadExcel {
private static String TrainNum = "LG1102"; //列车车次号
private static String QBID = "2464322"; //确保ID
private static String[] TrainMarshalling = new String[11];
public static void main(String[] args) throws BiffException, IOException {
readExcel();
for(String i : TrainMarshalling){
System.out.println(i);
}
}
private static void readExcel() throws BiffException, IOException {
File xlsFile = new File("F:\\marshallingdirectory.xls");
// 获得工作簿对象
Workbook workbook = Workbook.getWorkbook(xlsFile);
// 获得所有工作表
Sheet[] sheets = workbook.getSheets();
// 遍历工作表
if (sheets != null) {
for (Sheet sheet : sheets) {
// 获得行数
int rows = sheet.getRows();
// 获得列数
int cols = sheet.getColumns();
// 读取数据
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
Cell cell = sheet.getCell(col, row);
System.out.println(cell.getContents()); //全部输出数据
}
}
for (int row = 0; row < rows; row++) {
Cell cell1 = sheet.getCell(0, row);
Cell cell2 = sheet.getCell(1, row);
//加入判断条件
if (cell1.getContents().equals(TrainNum) && cell2.getContents().equals(QBID)) {
for (int col = 0; col < cols; col++) {
Cell count = sheet.getCell(col, row);
//得到想要的数组,注意此时是String,可根据自己需要进行类型的替换
TrainMarshalling[col] = count.getContents();
}
}
}
}
}
workbook.close();
}
}
二维数组
// 导出到 excel的代码其实跟导出到 txt 的代码一样
public void writeArrayToExcel(double[][] data, String string) {
int rowNum = data.length;
int columnNum = data[0].length;
try {
FileWriter fw = new FileWriter(string);
for (int i = 0; i < rowNum; i++) {
for (int j = 0; j < columnNum; j++)
fw.write(data[i][j] + "\t"); // tab 间隔
fw.write("\n"); // 换行
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
单列的
//将单列数组写入Excel表中
public static void writeListToExcel(List<Float> data, String string) {
int rowNum = data.size();
//int columnNum = data[0].length;
try {
FileWriter fw = new FileWriter(string);
for (float datum : data) {
//for (int j = 0; j < columnNum; j++)
//fw.write(data[i][j] + "\t"); // tab 间隔
fw.write(datum + "\t"); // tab 间隔
fw.write("\n"); // 换行
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void writeArrayToTxt(double[][] data, String string) {
int rowNum = data.length;
int columnNum = data[0].length;
try {
FileWriter fw = new FileWriter(string);
for (int i = 0; i < rowNum; i++) {
for (int j = 0; j < columnNum; j++)
fw.write(data[i][j] + "\t");
fw.write("\n");
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
读txt
public static String txt2String(File file) throws IOException {
StringBuilder result = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while ((s = br.readLine()) != null) {
//使用readLine方法,一次读一行
result.append(System.lineSeparator()).append(s);
}
br.close();
return result.toString();
}
有些来自
Java读写Excel表格数据 - lishbo - 博客园 https://www.cnblogs.com/lishbo/p/9955993.html
文章浏览阅读1.2k次。返回的UI hierchary dumped to: /doinf/uidumpa.xml但是手机里就是没有这个文件。这是什么情况啊?_adb shell uiautomator dump无效
文章浏览阅读4.4k次,点赞2次,收藏24次。1.数据准备:无论使用kaldi来做语音识别还是说话人识别,第一步就是数据准备,对于说话人识别来说,需要准备的几个文件为wav.scp,utt2spk,spk2utt这三个文件。对应的格式如下: 1.1 wav.scp有两列,第一列是key,这个可以一定要唯一;第二列是 wav的路径wavpath; 1.2 utt2spk也有两列,第一列是key,与wav.scp的第一列一样;..._kaldi i-vector
文章浏览阅读4.2k次。序言2019年好像没几天就要结束了,所以写个渣渣凑个数量,爱看的看看,不爱看的滑过。2019是猪队友的元年,所以总结为2个字就是炮灰。风言风语1 猪队友你..._office2019专业增强版激活
文章浏览阅读896次。全局设置git config --global user.name "acgkaka"git config --global user.email "[email protected]"初始化.git文件夹git init将当前文件夹连接到test远程仓库git remote add origin https://gitee.com/acgkaka/test.git将本地的当前分支推送到远程的master分支,同时指定origin为默认主机,(后面再使用git push的时候就可以不加任_git bash命令
文章浏览阅读6k次。项目原来在spring boot1.5.9版本时候使用@EnableMongoAuditing用同样的方法注入并没有报错,当切换到2.0版本是莫名其妙的出问题了,搞的我一脸懵逼,花了好久都没解决,后来偶然看到我们公司一个大佬的自定义注入的的方式,瞬间感觉到了王者和青铜的差距。 下面是配置代码@Configuration@EnableMongoAuditing@PropertySourc..._springboot2.0+mongotemplate
文章浏览阅读1.4k次,点赞2次,收藏7次。最近准备写一个前端桌面应用,了解到了一个新的框架——Electron,它是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。接下来,我们就来搭建一个基于vue的electron应用吧。_electron-vue文档
文章浏览阅读3.8k次,点赞5次,收藏22次。一. 分治算法介绍1. 分治算法思想2. 分治算法适用条件3. 分治算法的引入二. 分治算法的应用1. 快速排序2. 快排划分函数求topk问题3. 归并排序4. 合并k个有序单链表5. 对数时间求中位数算法思想_分治思想
文章浏览阅读3.3k次,点赞2次,收藏5次。minio是一个非常轻量化的对象存储服务,是可以算到云原生领域的。该服务是使用go语言编写的,因此,主文件就一个文件,它的下载,部署什么的都是非常简单的,一般两三步就可以搭建好了,只是有一些细节问题需要在部署使用的时候注意。本文将就一个可用的minio存储服务部署做一个尽量详细的讲解,并探讨如何将该技术落地_linux部署minio
文章浏览阅读1.9k次,点赞2次,收藏12次。前言:本着前人栽树后人乘凉的精神。感谢csdn朋友们所分享出来关于如何解决的安装方法,以我的下载安装的成功的经验来为困扰各位奉献一点力量。_matlab安装vs2015编译器
文章浏览阅读355次。PL2586是旺玖新出的一款USB HUB 芯片PL2586是一项创新,它集成了符合USB-IF“电池充电规范修订版1.2”的功能,支持便携式设备的快速充电功能。此功能将PL2586转变为“通用充电解决方案”(UCS)兼容的基于电池的便携式设备的USB充电集线器,由GSMA推广。当在下游端口检测到符合B.C.标准的便携式设备时,PL2586中的专用端口可以处理充电请求。而且,在握手完成后,PL2586允许便携式设备达到900mA(高速);1.5A(低速/全速)来自充电下游端口(CDP)或1.5A来自_usb 扩展 芯片
文章浏览阅读109次。直播课表12月21日(周二)正式开讲!课程报名地址https://aistudio.baidu.com/aistudio/course/introduce/25207内容概览OCR方向万星...
文章浏览阅读2.1k次,点赞81次,收藏22次。当然,除非你创业,不然做不同类型的系统,对一个程序员来说,没啥不同,我带过的同学,有很多做着搜索引擎,突然转到游戏引擎,或其它基础架构组件的。一是了解软件运行的原理,知道系统薄弱点在哪,比如曾经一个下属在转为测试后,测试系统稳定性,必有一项:就是拿乱码去测试,看系统是否还能正常稳定地运行。很多系统将自己的稳定性,交给别人请求的合法性,这是不对的。但有编码经验的同学,在做运维实施,尤其是在客户现场,做一些私有化的安装部署时,面对系统的日志、模块的日志、配置,能更快、更专业地把问题定位出来。