作者:乔山办公网日期:
返回目录:excel表格制作
恩,是每次只会生成一来个叫ncdoc.csv 的文件吗,也是只导入那个固定叫ncdoc.xls的文件吗,如果自这样还是比较好办的,是最低难度的,用宏也可以实现,自己写几句代码zhidao也可以 。 具体的办法说起来真挺麻烦的
先通过通过java里面的io一行一行的读出来,
再用循环通过split分割,一行里面的一个一个数据应该有什么符号分割,我见过的是逗号,
分割出来的数据你可以把它们放在一个一个数组里面,
最后用poi写入到excel里面
package com.poi;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
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;
public class CsvToExcel {
public static void main(String[] args) throws IOException {
// 读取csv文件
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("d:\\1.csv")),"GBK"));
String line;
// 创建结果集,泛型可以根据实际情况定
List<List<String>> dataList= new ArrayList<List<String>>();
while ((line = br.readLine()) != null) {
line = line.replace("\"", "");
String[] split = line.split(",");
List<String> t = new ArrayList<String>();
for (int i = 0; i < split.length; i++) {
t.add(split[i]);
}
dataList.add(t);
}
// 使用poi导出excel,poi是通过循环的方式创建行和单7a686964616fe4b893e5b19e362元格
// 声明一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
//声明一个单子并命名
HSSFSheet sheet = wb.createSheet("测试");
//给单子名称一个长度
sheet.setDefaultColumnWidth((short)15);
for (int i = 0; i < dataList.size(); i++) {
// 创建行
HSSFRow row = sheet.createRow(i);
List<String> list = dataList.get(i);
for (int j = 0; j < list.size(); j++) {
// 创建单元格
HSSFCell cell = row.createCell(j);
cell.setCellValue(list.get(j));
}
}
// 写入到文件里面
FileOutputStream out = new FileOutputStream("D://测试.xls");
wb.write(out);
out.close();
}
}
这是我用的jar包,只是用到一些个,姑且全部build path了
1、用word打开百文本文件,或者将文本复制到word文档中来
2、选中需要转换的文本度部分;
3、点击“插入 -> 表格 -> 文本转换成表格”
4、设置列数、行数和文字分隔位置,点击“确定回”按钮。
5、这样就可以轻松的将文本转换成表格了,答非常适用于导出成csv的各类文件。