问题描述
- 怎么将java程序中产生的数据保存为Excel文件
-
在我的项目中其中产生了一些很重要的数据需要保存下来。在图像中的到的一些矩形框,
已知道矩形框的左上角坐标(x1,y1),右下角坐标(x2,y2);我想把这坐标的四个数据保存到Excel表中。第一列保存第几个矩形框,第2-5列保存相应的四个点的位置。
求java实现的代码。求大神!!
解决方案
你这就是一个excel存储
用jxl或者Poi操作
下面这个有图说明。
http://www.cnblogs.com/mingforyou/archive/2013/08/26/3282922.html
解决方案二:
最简单的是直接写文本文件,每行写一行,每列用逗号分隔,保存为.csv后缀,这样excel就能打开了。
解决方案三:
使用已经有的成熟框架,比如jxl或者poi操作。面向对象的操作,把数据插入到excel即可了
解决方案四:
完整的程序如下:
package cn.hniyanzi;
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class CExcel {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String
path="E:\Excel.xls",
number[]= {"one","two"};//矩形名字
int
LeftPoint[][]= {{1,1},{2,2}},//左上角坐标
rightPoint[][]= {{3,3},{4,4}};//右下角坐标
File excelFile=new File(path);
try {
excelFile.createNewFile(); //生成文件
WritableWorkbook workbook=Workbook.createWorkbook(excelFile); //打开文件
//指定sheet的名称
WritableSheet sheet = workbook.createSheet("第一页 ", 0);
for (int i=0 ; i<number.length;i++) {
Label label = new Label(0,i,number[i]);//先列后行
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
for(int j=0;j<LeftPoint[i].length;j++) {
/*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义
*/
jxl.write.Number Lpoint = new jxl.write.Number(j+1,i,LeftPoint[i][j] );
sheet.addCell(Lpoint);
jxl.write.Number Rpoint = new jxl.write.Number(j+3,i,rightPoint[i][j] );
sheet.addCell(Rpoint);
}
}
// 写入数据并关闭文件
workbook.write();
workbook.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
解决方案五:
用POI框架操作EXCEL即可
时间: 2024-08-31 20:37:19