将csv转换为xls时,宏出现问题
|
我的项目遇到问题。有一个带有宏的xls文件可以创建图表,并且该xls文件的单元格类型为\'text \'。我必须使用宏和然后从一个名为\'result \'的文件夹中,我必须先获取csv文件并将这些值逐个放置到那些重复的xls文件中,然后通过宏我必须创建与这些值相对应的图表。我知道如何从csv中获取值并将其放入一个xls文件。我也知道可以创建图表的宏代码。
但是问题是,当我将值发送到重复文件时,它没有显示宏,而是使用下面显示的代码。
任何人都可以修改我的代码以将csv文件的值转换为可以显示宏的重复xls文件。请帮助我。
提前THNX……
软件包com.hp.io;
导入java.io.BufferedInputStream;
导入java.io.BufferedOutputStream;
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileOutputStream;
导入java.io.FilenameFilter;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.ArrayList;
导入org.apache.poi.hssf.usermodel.HSSFCell;
导入org.apache.poi.hssf.usermodel.HSSFRow;
导入org.apache.poi.hssf.usermodel.HSSFSheet;
导入org.apache.poi.hssf.usermodel.HSSFWorkbook;
公共类CSVtoXLS {
// FileOutputStream fileOut=null;
//FileInputStream fis=null;
公共静态void main(String [] args)引发IOException {
String thisline;
ArrayList<String> al = null;
ArrayList<ArrayList<String>> arlist = new ArrayList<ArrayList<String>>();
String libRoot=new File(\".\").getAbsolutePath();
libRoot=libRoot.replaceAll(\"\\\\\\\\\", \"/\");
File f=new File(libRoot+\"/result\");
FilenameFilter filter = new FilenameFilter()
{
@Override public boolean accept(File dir, String name)
{
return name.endsWith(\".csv\");
}
};
File file[]=f.listFiles(filter);
for(int r=0;r<file.length;r++){
String r1=libRoot+\"/result/output\"+r+\".xls\";
arlist.clear();
File currentFile=file[r];
FileInputStream fis = new FileInputStream(currentFile);
//DataInputStream myInput = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((thisline = br.readLine()) != null) {
al = new ArrayList<String>();
String strar[] = thisline.split(\",\");
for (int j = 0; j < strar.length; j++) {
al.add(strar[j]);
}
arlist.add(al);
//i++;
}
fis.close();
HSSFWorkbook hwb = new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet(\"new sheet\");
for (int k = 0; k < arlist.size(); k++) {
ArrayList<String> ardata = (ArrayList<String>) arlist.get(k);
HSSFRow row = sheet.createRow((short) k);
for (int p = 0; p < ardata.size(); p++) {
//System.out.print(ardata.get(p));
HSSFCell cell = row.createCell((short) p);
cell.setCellValue(ardata.get(p).toString());
}
}
//if(currentFile == file[0]){
FileOutputStream fileOut = new FileOutputStream(r1);
hwb.write(fileOut);
//hwb.write(fileOut);
//}
//hwb.write(fileOut);
fileOut.flush();
fileOut.close();
br.close();
System.out.println(\"conversion is done\");
//hwb=null;
}
//else if (currentFile == file[1]) {
//fileOut = new FileOutputStream(libRoot+\"/result/output.xls\");
//hwb.write(fileOut);
//fileOut.flush();
//fileOut.close();
//hwb=null;
}
}
没有找到相关结果
已邀请:
1 个回复
体悉