Java处理Excel,csv文件

matlab代码转java-DealFile:这是复杂网络的文件处理程序 matlab代码转java 复杂网络的数据处理 我天真的认为java可以做一切,我错了,matlab有些时候就是可以为所欲为 在我投靠matlab之前,这是我用来将图转成邻接矩阵的东西,顺便还能输出成卜老师喜欢的格式 代码里面是有注释的,功能大致是读文件生成图,能获取每个节点的出入度,在我放弃之前,完成了一个随机生成新的图的功能。 要不是卜老师前两天把我怼自闭了,我还爱着他。 立即下载
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表");
    }
}


Ubuntu安装有线网卡驱动 问题:插入网线后,无法识别有线连接。 原因:主板有线网卡的型号和系统中网卡的驱动不匹配 解决 前提条件: 需要连wifi通网,因为需要安装dkms,和下载驱动。 删除原驱动 1、查看网卡型号 lspci | grep net 我的网卡型号是8125 2、查看网卡驱动 lspci -k 网卡驱动是r8169 3、卸载网卡驱动 找出位置 modinfo r8169 | grep filename 然后删除 rm path/r8169.ko 卸载驱动 rmmod r8169 查看是否卸载成功 lsm 阅读详情

相关推荐

PTP(确时间协议,Precision Time Protocol)时间同步

主时钟定期发送带预估发送时间 t1 的报文(若支持硬件时间戳,实际 t1​ 由后续的Follow_Up报文携带)。所有设备启动后通过协商选举出唯一主时钟(Grandmaster),其余设备自动成为从时钟(Slave)。:从时钟记录接收时间 t2,随后向主时钟发送Delay_Req并记录发送时间 t3​。若使用支持PTP的交换机,可修正报文在交换机内的驻留时间,进一步提升精度。从时钟根据offset调整本地时钟,实现与主时钟同步。动态调整本地时钟,抵消传输延迟和时钟漂移。(或通过BMCA自动当选)。

努力努力努力 1303

java 读取和写入csv文件 (自动提取和转换成对象数据)

1.CSV介绍 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。 2.mave...

Y1230601的博客 1万+

Rockchip开发系列 - 3.4.GPIO扩展芯片AW95xx和PCA953X(2)

Rockchip开发系列 - 3.3.GPIO扩展芯片AW95xx和PCA953X(2)

fulinux的博客 999

java环境下读取CSV文件(已优化)

java环境下读取CSV文件

棒棒糖的糖不含糖的博客 2万+

光通量与辐射通量之间的换算

由理论和实验可知存在两种定义: 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×

u011699626的博客 3271

微博scheme

微博scheme

qq_42278595的博客 318

MultipartFile上传csv和excel文件保存到数据库中

springMVC中MultipartFile接收文件: 导入CSV文件:csv-&gt;json-&gt;list&lt;类&gt; public List&lt;T&gt; readCsv(MultipartFile file){ List&lt;T&gt; list = new ArrayList&lt;T&gt;(); if (!file...

cheng9981的博客 1万+

(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤

(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤

视觉人机器视觉的博客 7464

【EasyExcel】Java将不同的.csv文件数据存入同一个.xlsx文件的不同sheet当中

在利用Tablesaw进行数据分析和处理后,我想要将所有的表格数据存入同一个.xlsx文件的不同sheet当中。但是Tablesaw只支持将表格写入.csv文件,因此我就需要将.csv文件中的数据读取后存入.xlsx的指定sheet当中。...

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 1627

SIMULINK开发项目实例 1000 例专栏之第847例--基于飞行控制与稳定性的场景实例:多旋翼无人机在风扰动下的稳定性分析

本文介绍了使用Simulink进行多旋翼无人机风扰动稳定性分析的完整流程。首先建立包含动力学模型、控制系统和环境模拟三大模块的仿真系统,其中动力学模型基于牛顿-欧拉方程,控制系统采用PID调节器。重点展示了MATLAB函数实现的风扰动模型和姿态控制算法,通过设置输入信号和输出显示模块完成闭环仿真。最后通过多次风速条件下的仿真测试评估控制系统的抗干扰能力和稳定性表现,为无人机控制系统设计提供了有效的仿真验证方法。

xiaoheshang_123的博客 321

基于STM32设计的智能水产养殖系统(华为云IOT)(152)

当前设计的智能水产养殖系统主控芯片采用STM32F103RCT6,可以实现对水位、水温、水混浊度和PH值等参数的监测和控制,并且支持定时投喂功能。通过连接华为云物联网平台,将传感器数据上传到服务器,并通过Qt设计的Android手机APP来获取设备上传的数据,从而实现对养殖环境的远程监测和控制。

8826

JAVA 数据导入导出(CSV、TXT、EXCL(读取大文件))

设计思路: 1、先实现文件上传到服务器,获取到文件名和文件保存的路径 2、获取当前项目运行的路径,读取服务器中的文件 3、解析文件数据 4、数据处理,导入数据库文件部分上传代码: if (!file.isEmpty()) { FileTb upLoadFile = null; String originalName = file.getOriginalF

PJ码匠人 1万+

注册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. 解决方案

weixin_43178406的博客 8万+

java处理超大csv文件_Excel:处理CSV文件的方法

Hi,大家好,今天一下常用的CSV文件的处理办法,防止数据出现错误。一、功能通过自文本功能将CSV文件导入到excel表格中。二、表示选择数据-自文本。三、简单应用场景:将CSV文件的数据导入到excel文件中。1. 点击数据-自文本按钮将所需要的csv文件选中后导入。2. 一共分三步,第一步中选“分隔符号”,文件原始格式改为:936:简体中文(GB2312)。 3.这一步根据自己CSV文件内的格...

weixin_39842475的博客 896

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节介绍了随机读写文...

219

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于Java的CSV格式文件处理(excel逗号分隔符文件)

导出 用流写出即可。导出csv文件。 /** * 获取csv 文件中的内容 * @param path csv的文件位置 * @return 内容集合 * @throws Exception */ public List CSVLoad(String path) throws Exception { List list = new ArrayList();

小李专栏 8615

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一直都是以二进制位的方式存储,但这种格式不易被其它软件拿来使用,在各界...

weixin_34050005的博客 593

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号变成...

热心市民小码哥的博客 703

使用CSV文件处理EXcel数据

CSV (逗号分隔值文件格式):其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符使用示例:BufferedWriter writer2=null; DataInputStream in =null;

wuwanggao的博客 1334

java如何把csv文件读入另外一个csv文件_R|批量循环处理同一格式文件-csv,txt,excel...

本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/8IfMrSr9xc8_1Y2_9Ne6hg在一个文件夹下有很多字段一致,格式统一的数据文件(csv,txt,excel),可以使用R快速的统一成一个文件方便后续分析和处理。数据准备 将需要处理的字段一致,格式统一的数据文件(csv,txt,excel),放到文件夹内,并将此文件夹设置为工作目录,下面分...

weixin_39673972的博客 147

java读取xls和csv文件

java解析xls和csv文件

qq_42724955的博客 845

处理 Excel 文件类型

1.POI 处理.xls文件,删除指定行,且不留空白 2.处理.csv文件,

SSM相关 248

excel导入Java

Apache POI是一个开源的Java库,用于处理Microsoft Office格式的文件,包括Excel。如果Excel文件的内容相对简单,并且不需要利用Excel特有的功能,可以将Excel文件另存为CSV格式(逗号分隔值),然后使用Java的文件读取工具(如BufferedReader)逐行读取CSV文件,将其转换为Java对象。如果需要处理大量Excel文件或者需要将Excel文件的内容批量处理并导入到数据库中,可以考虑使用Spring Batch框架。

B__B_B的博客 545
上一篇: 从范围n中产生k(k<n)个不重复随机数
下一篇: JSP验证码
Y叔输得起
博客等级 码龄16年 15粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值