javacsv,JavaCSV导出

发布时间:2023-01-08

本文目录一览:

  1. 如何用java解析CSV文件
  2. java处理csv文件
  3. java怎样写入一个csv文件
  4. java读取csv文件
  5. JAVA中如何使用创建CSV文件
  6. java对操作csv文件

如何用java解析CSV文件

思想:先获取csv文件的路径,通过BufferedReader类去读该路径中的文件,使用readLine方法进行逐行读取。 注意:使用readLine方法后会自动转到下一行。因此在判断是否为空后得先将读取到的内容赋值给一变量,在循环中使用该变量即可。

public static void main(String[] args) {
    File csv = new File("C:\\Users\\chenxumin\\Desktop\\Result.csv"); // CSV文件路径
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader(csv));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    String line = "";
    String everyLine = "";
    try {
        List<String> allString = new ArrayList();
        while ((line = br.readLine()) != null) { //读取到的内容给line变量
            everyLine = line;
            System.out.println(everyLine);
            allString.add(everyLine);
        }
        System.out.println("csv表格中所有行数:" + allString.size());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

java处理csv文件

我来说一下大致的实现步骤,具体实现需要你自己去写了

  1. 检索数据,检索到的数据假定为一个list
  2. 你需要自己写一个objectToString之类的方法来把检索到的数据转化为一个String或StringBuffer,就是往各字段间插",",往个记录间插"\r\n",如此这类的转换,假定转换好的字符串为strResult.
  3. 然后用下面的代码写在后台来控制下载,文件名那里你可以把时间格式控制好,或者用前台传过来的参数做名字。
response.setContentType("application/download;charset=UTF-8");
response.setHeader("Content-disposition","attachment;filename=\"" + new Date() + ".csv\"");
OutputStream o = response.getOutputStream();
byte b[] = strResult.getBytes();
try {
    o.write(b);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    o.close();
}

java怎样写入一个csv文件

所以你写csv表格,这么做就可以了,每写一列就加一个,就是第二列。 距离有个BufferWriter writer对象要写一个csv文件。

writer.write("第一列");
writer.write(",");
writer.write("第二列");

这就是一个简单的用,分割的csv文件。

java读取csv文件

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
public class Test {
    public static void main(String[] args) {
        Hashtable<String, String[]> dict = new Hashtable<String, String[]>();
        try {
            BufferedReader reader = new BufferedReader(new FileReader("test.csv"));
            String line = null;
            while ((line = reader.readLine()) != null) {
                String item[] = line.split(",");
                String item2[] = new String[19];
                System.arraycopy(item, 1, item2, 0, 19);
                dict.put(item[0], item2);
            }
            Enumeration e2 = dict.keys();
            while (e2.hasMoreElements()) {
                String key = (String) e2.nextElement();
                System.out.println(key);
                String[] dd = (String[]) dict.get(key);
                for (int i = 0; i < dd.length; i++) {
                    System.out.print(dd[i] + "\t");
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

JAVA中如何使用创建CSV文件

csv文件又叫逗号文件 你只要new一个File文件,文件路径给好,文件名随便起,文件名后缀是csv就可以了 然后把这个文件放到流对象中,你要写什么直接对这个流进行操作即可

java对操作csv文件

java

import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
    public void test(int row, int col) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("C:\\a.csv")); //换成你的文件名
            //reader.readLine(); //第一行信息,为标题信息,不用,如果需要,注释掉
            String line = null;
            int index = 0;
            while ((line = reader.readLine()) != null) {
                String item[] = line.split(" "); //CSV格式文件为逗号分隔符文件,这里根据逗号切分
                if (index == row - 1) {
                    if (item.length >= col - 1) {
                        String last = item[col - 1]; //这就是你要的数据了
                        System.out.println(last);
                    }
                }
                //int value = Integer.parseInt(last); //如果是数值,可以转化为数值
                index++;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        Test test = new Test();
        test.test(3, 2);
    }
}

你的数据格式有问题,空格的个数不确定,没法每行用空格分隔符。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列: 1 电机1 2 WBS2 3 PID3 4 CP 5 社供出 6 原価実绩 7 社供WC 8 外注费 9 直材费 10 自家制品 11 直経费 12 その他 13 注残 14 注残