JAVA,POI导出EXCEL表,表中所有数据都是从后台直接获取,求指导,越详细越好

2025-01-04 13:42:14
推荐回答(3个)
回答1:

举个例子吧

public class CreateSimpleExcelToDisk
{
/**
* @功能:手工构建一个简单格式的Excel
*/
public static List getStudent(String[] str) throws Exception
{
List listts = new ArrayList();
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");

Connection conn = DBUtil.getCon();
String sqlback="";
for(int i=0;i sqlback=sqlback+"\"id\"='"+str[i]+"'or";
}
sqlback=sqlback+"\"id\"='"+str[str.length-1]+"'";

String sql1 = "select * from 表名 where"+sqlback;
System.out.println(sql1 );
ResultSet rs = DBUtil.getResult(conn, sql1);
String outStr = "";

int a=1;
try {
while(rs.next()){
String objid = rs.getString(1);
String tsname= rs.getString("tsname");
String tstel= rs.getString("tstel");
String tscpname= rs.getString("tscpname");
String tsads=rs.getString("tsads");
String tsqus=rs.getString("tsqus");
String tsno=rs.getString("tsno");
String tsdate=rs.getString("tsdate");
Tsxx user = new Tsxx(a,tsname,tstel,tscpname,tsads,tsqus,tsno,df.parse(tsdate));
listts.add(user);

a++;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if (rs != null) {
rs.close();
}

if (conn != null) {
conn.close();
}
} catch (Exception e) {
}}

return listts;
}
public static void main(String[] args) throws Exception
{
// // 第一步,创建一个webbook,对应一个Excel文件
// HSSFWorkbook wb = new HSSFWorkbook();
// // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
// HSSFSheet sheet = wb.createSheet("学生表一");
// // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
// HSSFRow row = sheet.createRow((int) 0);
// // 第四步,创建单元格,并设置值表头 设置表头居中
// HSSFCellStyle style = wb.createCellStyle();
// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
//
// HSSFCell cell = row.createCell((short) 0);
// cell.setCellValue("学号");
// cell.setCellStyle(style);
// cell = row.createCell((short) 1);
// cell.setCellValue("姓名");
// cell.setCellStyle(style);
// cell = row.createCell((short) 2);
// cell.setCellValue("年龄");
// cell.setCellStyle(style);
// cell = row.createCell((short) 3);
// cell.setCellValue("生日");
// cell.setCellStyle(style);
//
// // 第五步,写入实体数据 实际应用中这些数据从数据库得到,
// List list = CreateSimpleExcelToDisk.getStudent();
//
// for (int i = 0; i < list.size(); i++)
// {
// row = sheet.createRow((int) i + 1);
// Tsxx stu = (Tsxx) list.get(i);
// // 第四步,创建单元格,并设置值
// row.createCell((short) 0).setCellValue((double) stu.getId());
// row.createCell((short) 1).setCellValue(stu.getName());
// row.createCell((short) 2).setCellValue((double) stu.getAge());
// cell = row.createCell((short) 3);
// cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu.getBirth()));
// }
// // 第六步,将文件存到指定位置
// try
// {
// FileOutputStream fout = new FileOutputStream("E:/students.xls");
// wb.write(fout);
// fout.close();
// }
// catch (Exception e)
// {
// e.printStackTrace();
// }
}

回答2:

前几天刚好因为工作需要做过相应的excel处理程序编写,这里有一个例子,注释也很详细,具体参见doexecl\src\util\ExeclUtil.java中的writeExcel方法,其中的写出文件的保存路径采用的是配置文件的形式,你也可以直接写死,具体的内容你就看代码吧

回答3:

吃点饭就啊