把JSP页面中表格数据导入EXCEL文档的时候可以不可以自定义格式。。。。。/ 在服务器端实现吗?那样用poi很容易实现的啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我自己写的hellowrold程序,你参考一下吧需要你下载apache的poi jar包package com.huida.mypoi;import java.io.FileOutputStream;import java.util.Date;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFDataFormat;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;import org.apache.poi.hssf.util.Region;public class MyPOI { public static void main(String args[]) { try{ //crate a new workbook HSSFWorkbook wb = new HSSFWorkbook(); //create worksheet HSSFSheet sheet1 = wb.createSheet("new sheet"); HSSFSheet sheet2 = wb.createSheet("second sheet"); /*向sheet1中写入数据*/ //绘制表头 HSSFRow oRow=sheet1.createRow((short)0); oRow.createCell((short)0).setCellValue("姓名"); oRow.createCell((short)1).setCellValue("语文"); oRow.createCell((short)2).setCellValue("数学"); oRow.createCell((short)3).setCellValue("总分"); //向表格体写入数据 for(int i=1;i<=10;i++){ oRow=sheet1.createRow((short)i); oRow.createCell((short)0).setCellValue("user-"+i); oRow.createCell((short)1).setCellValue(1); oRow.createCell((short)2).setCellValue(2); oRow.createCell((short)3).setCellFormula("AVERAGE(B2:C2)"); } /*向sheet2写入数据*/ //绘制表头 oRow=sheet2.createRow((short)0); oRow.createCell((short)0).setCellValue("姓名"); oRow.createCell((short)1).setCellValue("科目"); oRow.createCell((short)2).setCellValue("成绩"); oRow.createCell((short)3).setCellValue("平均"); //向表格体写入数据 String greadMessage[][]={ {"郑学进","语文","75"}, {"郑学进","数学","80"}, {"张玉斌","语文","82"}, {"张玉斌","数学","93"}, {"张玉斌","英语","97"}, {"张玉斌","政治","77"}, {"于小刚","语文","33"}, {"于小刚","数学","92"}, {"于小刚","英语","75"} }; if(greadMessage.length>0){ String strName=greadMessage[0][0]; int nMergeStart=1,nMergeEnd; for(int i=1,nLen=greadMessage.length;i<=nLen;i++){ //若姓名发生变化或最后一条记录时,合并单元格 if((!strName.equals(greadMessage[i-1][0])||i==nLen)){ sheet2.getRow(nMergeStart).getCell((short)0).setCellValue(strName); if(i>nMergeStart){ //计算合并单元格的下坐标 nMergeEnd=i==nLen?i:i-1; //合并姓名单元格 sheet2.addMergedRegion(new Region( nMergeStart,(short)0,nMergeEnd,(short)0 )); //合并并计算平均分 sheet2.addMergedRegion(new Region( nMergeStart,(short)3,nMergeEnd,(short)3 )); sheet2.getRow(nMergeStart).getCell((short)3).setCellFormula( "average(c"+(nMergeStart+1)+";c"+(nMergeEnd+1)+")" ); } nMergeStart=i; strName=greadMessage[i-1][0]; } oRow=sheet2.createRow(i); oRow.createCell((short)0); oRow.createCell((short)1).setCellValue(greadMessage[i-1][1]); oRow.createCell((short)2).setCellValue( Integer.parseInt(greadMessage[i-1][2]) ); oRow.createCell((short)3); } } //Save and close workbook FileOutputStream fileOut = new FileOutputStream("c:\\workbook.xls"); wb.write(fileOut); fileOut.close(); }catch(Exception err){ System.out.println(err.getMessage()); } }} 求:如何把js dom转换成它所代表的html字符串? jQuery.boxy的弹出iframe窗口 如何关闭他呢? 请问这段代码的区别 层的隐藏和显示 ExtJs4 MVC模式 Store中设置Proxy后正常发出请求,返回数据,但是Store中数据无法获取 合同要求实现套打,江湖救急啊 form.action的问题 请教一下关于下拉菜单的问题 请教:如何判断页面中的某个text控件是否存在! 不懂的字体 js控制div的css属性 CuteEditor 编辑器 如何屏蔽右键功能!
需要你下载apache的poi jar包
package com.huida.mypoi;import java.io.FileOutputStream;
import java.util.Date;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.util.Region;public class MyPOI {
public static void main(String args[]) {
try{
//crate a new workbook
HSSFWorkbook wb = new HSSFWorkbook();
//create worksheet
HSSFSheet sheet1 = wb.createSheet("new sheet");
HSSFSheet sheet2 = wb.createSheet("second sheet");
/*向sheet1中写入数据*/
//绘制表头
HSSFRow oRow=sheet1.createRow((short)0);
oRow.createCell((short)0).setCellValue("姓名");
oRow.createCell((short)1).setCellValue("语文");
oRow.createCell((short)2).setCellValue("数学");
oRow.createCell((short)3).setCellValue("总分");
//向表格体写入数据
for(int i=1;i<=10;i++){
oRow=sheet1.createRow((short)i);
oRow.createCell((short)0).setCellValue("user-"+i);
oRow.createCell((short)1).setCellValue(1);
oRow.createCell((short)2).setCellValue(2);
oRow.createCell((short)3).setCellFormula("AVERAGE(B2:C2)");
}
/*向sheet2写入数据*/
//绘制表头
oRow=sheet2.createRow((short)0);
oRow.createCell((short)0).setCellValue("姓名");
oRow.createCell((short)1).setCellValue("科目");
oRow.createCell((short)2).setCellValue("成绩");
oRow.createCell((short)3).setCellValue("平均");
//向表格体写入数据
String greadMessage[][]={
{"郑学进","语文","75"},
{"郑学进","数学","80"},
{"张玉斌","语文","82"},
{"张玉斌","数学","93"},
{"张玉斌","英语","97"},
{"张玉斌","政治","77"},
{"于小刚","语文","33"},
{"于小刚","数学","92"},
{"于小刚","英语","75"}
};
if(greadMessage.length>0){
String strName=greadMessage[0][0];
int nMergeStart=1,nMergeEnd;
for(int i=1,nLen=greadMessage.length;i<=nLen;i++){
//若姓名发生变化或最后一条记录时,合并单元格
if((!strName.equals(greadMessage[i-1][0])||i==nLen)){
sheet2.getRow(nMergeStart).getCell((short)0).setCellValue(strName);
if(i>nMergeStart){
//计算合并单元格的下坐标
nMergeEnd=i==nLen?i:i-1;
//合并姓名单元格
sheet2.addMergedRegion(new Region(
nMergeStart,(short)0,nMergeEnd,(short)0
));
//合并并计算平均分
sheet2.addMergedRegion(new Region(
nMergeStart,(short)3,nMergeEnd,(short)3
));
sheet2.getRow(nMergeStart).getCell((short)3).setCellFormula(
"average(c"+(nMergeStart+1)+";c"+(nMergeEnd+1)+")"
);
}
nMergeStart=i;
strName=greadMessage[i-1][0];
}
oRow=sheet2.createRow(i);
oRow.createCell((short)0);
oRow.createCell((short)1).setCellValue(greadMessage[i-1][1]);
oRow.createCell((short)2).setCellValue(
Integer.parseInt(greadMessage[i-1][2])
);
oRow.createCell((short)3);
}
}
//Save and close workbook
FileOutputStream fileOut = new FileOutputStream("c:\\workbook.xls");
wb.write(fileOut);
fileOut.close();
}catch(Exception err){
System.out.println(err.getMessage());
}
}
}