import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**
* CSV,Excel处理类,读写数据
* @author ssh_kobe
*
*/
public class DealFile {
/**
* @param args
*/
public static void main(String[] args) {
//writeExcel("test1.xls");
long t1 = System.currentTimeMillis();
readCSV("list.csv");
long t2 = System.currentTimeMillis();
System.out.println("[" + (t2-t1) + "]");
long t3 = System.currentTimeMillis();
readStream("list.csv");
long t4 = System.currentTimeMillis();
System.out.println("[" + (t4-t3) + "]");
}
/**使用流的形式,读取文件的内容
* @param file 待读取的文件
* @return string
*/
public static void readStream(String file) {
try {
//新建缓冲流
BufferedReader br = new BufferedReader(new FileReader(file));
//br.readLine();
String line = null;
//readLine()为阻塞式方法
while((line = br.readLine()) != null) {
String item[] = line.split(",");
for(String cell : item) {
System.out.print(cell + "\t");
}
System.out.println();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**读取CSV文件的内容 ,使用javacsv.jar
* @param file 待读取的文件
*/
public static void readCSV(String file) {
ArrayList<String[]> csvList = new ArrayList<String[]>();
try {
CsvReader reader = new CsvReader(file, ',', Charset.forName("GBK"));
//reader.readHeaders(); // 跳过表头
while(reader.readRecord()){ //逐行读入除表头的数据
csvList.add(reader.getValues());
}
reader.close();
for(int row=0; row<csvList.size(); row++){
for(int j=0; j<csvList.get(row).length; j++) {
String cell = csvList.get(row)[j]; //取得第row行第j列的数据
System.out.print(cell + "\t");
}
System.out.println();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**读取Excel文件的内容
* @param file 待读取的文件
* @return string
*/
public static String readExcel(String file){
StringBuffer sb = new StringBuffer();
Workbook wb = null;
//构造Workbook(工作薄)对象
try {
wb = Workbook.getWorkbook(new File(file));
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb == null) {
return null;
}
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheets = wb.getSheets();
if((sheets != null) && (sheets.length > 0)) {
//对每个工作表进行循环
for(int i=0; i<sheets.length; i++) {
//得到当前工作表的行数
int rowNum = sheets[i].getRows();
for(int j=0; j<rowNum; j++) {
//得到当前行的所有单元格
Cell[] cells = sheets[i].getRow(j);
if((cells != null) && (cells.length > 0)) {
//对每个单元格进行循环
for(int k=0; k<cells.length; k++) {
//读取当前单元格的值
String cell = cells[k].getContents();
sb.append(cell+"\t");//'\t'为Tab键
}
}
sb.append("\r\n");
}
sb.append("\r\n");
}
}
//最后关闭资源,释放内存
wb.close();
return sb.toString();
}
/**生成一个Excel文件
* @param fileName 要生成的Excel文件名
*/
public static void writeExcel(String fileName){
WritableWorkbook wwb = null;
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
try {
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb != null) {
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("xls1", 0);
//下面开始添加单元格
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label lb = new Label(j, i, "("+(i+1)+","+(j+1)+")");
//将生成的单元格添加到工作表中
try {
ws.addCell(lb);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
System.out.println("已生成Excel表");
}
}相关推荐
PTP(确时间协议,Precision Time Protocol)时间同步
主时钟定期发送带预估发送时间 t1 的报文(若支持硬件时间戳,实际 t1 由后续的Follow_Up报文携带)。所有设备启动后通过协商选举出唯一主时钟(Grandmaster),其余设备自动成为从时钟(Slave)。:从时钟记录接收时间 t2,随后向主时钟发送Delay_Req并记录发送时间 t3。若使用支持PTP的交换机,可修正报文在交换机内的驻留时间,进一步提升精度。从时钟根据offset调整本地时钟,实现与主时钟同步。动态调整本地时钟,抵消传输延迟和时钟漂移。(或通过BMCA自动当选)。
java 读取和写入csv文件 (自动提取和转换成对象数据)
1.CSV介绍 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。 2.mave...
Rockchip开发系列 - 3.4.GPIO扩展芯片AW95xx和PCA953X(2)
Rockchip开发系列 - 3.3.GPIO扩展芯片AW95xx和PCA953X(2)
java环境下读取CSV文件(已优化)
java环境下读取CSV文件
光通量与辐射通量之间的换算
由理论和实验可知存在两种定义: 1W1W1W(瓦特)的频率为540×1012Hz540\times10^{12}Hz540×1012Hz(赫兹)的单色辐射的辐射通量等于683lm(流明)683lm(流明)683lm(流明).。 1lm1lm1lm的频率为540×1012Hz540\times10^{12}Hz540×1012Hz的单色通量等于1683=0.001464W\frac{1}{683}=0.001464W6831=0.001464W。 从上述定义中我们可以得到什么呢?我们知道光速: c=3×
微博scheme
微博scheme
MultipartFile上传csv和excel文件保存到数据库中
springMVC中MultipartFile接收文件: 导入CSV文件:csv->json->list<类> public List<T> readCsv(MultipartFile file){ List<T> list = new ArrayList<T>(); if (!file...
(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤
(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤
【EasyExcel】Java将不同的.csv文件数据存入同一个.xlsx文件的不同sheet当中
在利用Tablesaw进行数据分析和处理后,我想要将所有的表格数据存入同一个.xlsx文件的不同sheet当中。但是Tablesaw只支持将表格写入.csv文件,因此我就需要将.csv文件中的数据读取后存入.xlsx的指定sheet当中。...
SIMULINK开发项目实例 1000 例专栏之第847例--基于飞行控制与稳定性的场景实例:多旋翼无人机在风扰动下的稳定性分析
本文介绍了使用Simulink进行多旋翼无人机风扰动稳定性分析的完整流程。首先建立包含动力学模型、控制系统和环境模拟三大模块的仿真系统,其中动力学模型基于牛顿-欧拉方程,控制系统采用PID调节器。重点展示了MATLAB函数实现的风扰动模型和姿态控制算法,通过设置输入信号和输出显示模块完成闭环仿真。最后通过多次风速条件下的仿真测试评估控制系统的抗干扰能力和稳定性表现,为无人机控制系统设计提供了有效的仿真验证方法。
基于STM32设计的智能水产养殖系统(华为云IOT)(152)
当前设计的智能水产养殖系统主控芯片采用STM32F103RCT6,可以实现对水位、水温、水混浊度和PH值等参数的监测和控制,并且支持定时投喂功能。通过连接华为云物联网平台,将传感器数据上传到服务器,并通过Qt设计的Android手机APP来获取设备上传的数据,从而实现对养殖环境的远程监测和控制。
JAVA 数据导入导出(CSV、TXT、EXCL(读取大文件))
设计思路: 1、先实现文件上传到服务器,获取到文件名和文件保存的路径 2、获取当前项目运行的路径,读取服务器中的文件 3、解析文件数据 4、数据处理,导入数据库文件部分上传代码: if (!file.isEmpty()) { FileTb upLoadFile = null; String originalName = file.getOriginalF
注册GitHub时出现Unable to verify your captcha response.Please visit https://docs.github.com/解决方案(持续更新)
本文主要介绍了注册GitHub时出现Unable to verify your captcha response. Please visit https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.解决方案,希望能对学习使用GitHub的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案
java处理超大csv文件_Excel:处理CSV文件的方法
Hi,大家好,今天一下常用的CSV文件的处理办法,防止数据出现错误。一、功能通过自文本功能将CSV文件导入到excel表格中。二、表示选择数据-自文本。三、简单应用场景:将CSV文件的数据导入到excel文件中。1. 点击数据-自文本按钮将所需要的csv文件选中后导入。2. 一共分三步,第一步中选“分隔符号”,文件原始格式改为:936:简体中文(GB2312)。 3.这一步根据自己CSV文件内的格...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
Java编程的逻辑 (64) - 常见文件类型处理: 属性文件/CSV/EXCEL/HTML/压缩文件
本系列文章经补充和完善,已修订整理成书《Java编程的逻辑》,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http://item.jd.com/12299018.html 对于处理文件,我们介绍了流的方式,57节介绍了字节流,58节介绍了字符流,同时,也介绍了比较底层的操作文件的方式,60节介绍了随机读写文...
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
基于Java的CSV格式文件处理(excel逗号分隔符文件)
导出 用流写出即可。导出csv文件。 /** * 获取csv 文件中的内容 * @param path csv的文件位置 * @return 内容集合 * @throws Exception */ public List CSVLoad(String path) throws Exception { List list = new ArrayList();
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
http://blog.youkuaiyun.com/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280.html . Office2007与Office Open XML 在Office 2007之前,Office一直都是以二进制位的方式存储,但这种格式不易被其它软件拿来使用,在各界...
JAVA处理csv的EXCEL文件:统计用户在不同属性数据下的选择数量
如图所示,A列代表用户ID,F列代表用户选择的任务类型ID 现在的需求是:统计得出每个用户ID在每种任务ID下的选择计数,如下图所示: 33就代表用户0选择了33项类型ID为0的任务 实现步骤: 1.原始csv文件按行提取,获取A列和F列数据 2.如果A列数据用户ID没有发生变化,那么读取其在每一种类型ID的数量,并写入新的文件 3.如果A列数据用户ID发生了变化,比如0号变成...
使用CSV文件处理EXcel数据
CSV (逗号分隔值文件格式):其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符使用示例:BufferedWriter writer2=null; DataInputStream in =null;
java如何把csv文件读入另外一个csv文件_R|批量循环处理同一格式文件-csv,txt,excel...
本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/8IfMrSr9xc8_1Y2_9Ne6hg在一个文件夹下有很多字段一致,格式统一的数据文件(csv,txt,excel),可以使用R快速的统一成一个文件方便后续分析和处理。数据准备 将需要处理的字段一致,格式统一的数据文件(csv,txt,excel),放到文件夹内,并将此文件夹设置为工作目录,下面分...
java读取xls和csv文件
java解析xls和csv文件
处理 Excel 文件类型
1.POI 处理.xls文件,删除指定行,且不留空白 2.处理.csv文件,
excel导入Java
Apache POI是一个开源的Java库,用于处理Microsoft Office格式的文件,包括Excel。如果Excel文件的内容相对简单,并且不需要利用Excel特有的功能,可以将Excel文件另存为CSV格式(逗号分隔值),然后使用Java的文件读取工具(如BufferedReader)逐行读取CSV文件,将其转换为Java对象。如果需要处理大量Excel文件或者需要将Excel文件的内容批量处理并导入到数据库中,可以考虑使用Spring Batch框架。
1303



被折叠的 条评论
为什么被折叠?



