不好意思忘了說一句是用JSP寫﹗
解决方案 »
- 请问各位牛人,关于权限问题的数据库设计问题。复杂内详,非牛人勿进。
- JS加载XML的问题
- spring进行事务控制时,何时得到session,何时开启事务,何时打开链接
- 难道现在的网站都用mvc模式?
- 请问JSP怎样读取统一局域网内的某台机器内的目录?
- 关于访问J2ee时,在地址栏输入地址后的“/”问题,请教高人。。。100分
- 十万火急 求救jsp读取access中的数据失败
- jsp里为什么无法使用useBean??
- 超级简单才鸟问题,怎么运行一个 applet
- 在线等待,两个很菜的问题!!!回答了立刻给分
- 在JB中能连,为什么在tomcat连接不上.急!
- 急,大家帮我看一下这个该怎么改。。[在线等]
.
讨论区:
技术论坛
在Java中读写Excel文件
Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。
你可以在下面地址下载到最新的POI工具包:
http://jakarta.apache.org/poi/index.html
下面的代码创建一个Excel文件test.xls,并在第一行的第一格中写入一条消息: import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
public class PoiTest
{
static public void main(String[] args) throws Exception
{
FileOutputStream fos = new FileOutputStream("d:\test.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet");
HSSFRow row = s.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("Hello! This message is generated from POI.");
wb.write(fos);
fos.close();
}
} 读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串: POIFSFileSystem fs = null;
HSSFWorkbook wb = null;
try {
fs = new POIFSFileSystem(new FileInputStream("d:\test.xls"));
wb = new HSSFWorkbook(fs);
} catch (IOException e) { e.printStackTrace(); }
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();
当然需要呀!
发过来给我参考一下!
[email protected]
java.util.*,
java.text.*,
java.io.*,
java.util.Date,
jxl.write.*,
jxl.*,
java.util.zip.*,
com.bizwink.cms.security.*,
com.bizwink.webtrend.*,
com.bizwink.cms.server.*,
com.bizwink.cms.util.*" contentType="text/html;charset=8859_1"%><%
Auth authToken = SessionUtil.getUserAuthorization( request, response, session);
String userid = authToken.getUserID(); Date now = new Date();
int year = now.getYear()+1900;
int month = now.getMonth()+1;
int day = now.getDate()-1;
if(day == 0)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
case 4:
case 6:
case 9:
case 11:
day = 30;
case 2:
if((year%4==0)&(year%100==0)&(year%400!=0))
day = 29;
else
day = 28;
}
} String syear = String.valueOf(year);
String smonth = String.valueOf(month);
String sday = String.valueOf(day); if((month>0) & (month<10))
{
smonth = "0" + smonth;
} if((day>0) & (day<10))
{
sday = "0" + sday;
} String date = syear + "-" + smonth + "-" + sday; String appDir = CmsServer.getInstance().getModalPath();
int posi = appDir.lastIndexOf(java.io.File.separator);
appDir = appDir.substring(0,posi); String filename = userid + "_" + date;
String path = appDir + java.io.File.separator + "Excel"; String xlsfilename = filename + ".xls";
String fpath = path + java.io.File.separator + xlsfilename;
String zipfilename = filename + ".zip";
String zippath = path + java.io.File.separator + zipfilename;
File f = new File(fpath);
if(f.exists()){
f.delete();
} File fe = new File(zippath);
if(fe.exists()){
fe.delete();
} WritableWorkbook wwb = null; try{
wwb = Workbook.createWorkbook(new File(fpath)); //创建一个workbook
}
catch (Exception e)
{
e.printStackTrace();
} WritableSheet ws = wwb.createSheet("LogAnalyzer", 0); //创建一个sheet Label label1 = new Label(0, 0, "URL");
ws.addCell(label1);
Label label2 = new Label(1, 0, "PAGEVIEW");
ws.addCell(label2);
Label label3 = new Label(2, 0, "USERSESSION");
ws.addCell(label3); IWebtrendManager webtrendMgr = WebtrendPeer.getInstance();
List list= webtrendMgr.reportPerDay(date, userid); for (int i=1;i<list.size();i++){
Webtrend webtrend=(Webtrend)list.get(i);
Label labelC1 = new Label(0, i, webtrend.getUrlName());
ws.addCell(labelC1);
Label labelC2 = new Label(1, i, webtrend.getPageView());
ws.addCell(labelC2);
Label labelC3 = new Label(2, i, webtrend.getUsersession());
ws.addCell(labelC3);
} try{
//写入Exel工作表
wwb.write(); //关闭Excel工作薄对象
wwb.close();
}
catch (Exception e)
{
e.printStackTrace();
}
//创建zip文件
try {
int BUFFER = 2048;
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(zippath);
ZipOutputStream outp = new ZipOutputStream(new BufferedOutputStream(dest));
byte data[] = new byte[BUFFER]; FileInputStream fi = new FileInputStream(fpath);
origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(xlsfilename); //被压缩的源文件名;
outp.putNextEntry(entry);
int count;
while((count = origin.read(data, 0, BUFFER)) != -1) {
outp.write(data, 0, count);
}
origin.close();
outp.close(); File file = new File(fpath); //将excel文件转化为zip文件后,删除excel文件
if(file.exists()){
file.delete();
}
} catch(Exception e) {
e.printStackTrace();
}%>
<html>
<head></head>
<body background="../images/indtextb.jpg">
<br>
<p align="center"><b><font size="5" color="red">生成表格成功</font></b></p>
<p align="center"><a href="../Excel/<%=zipfilename%>">下载</a></p>
</body>
</html>
以下這几個包找不到,請問那里有com包下載?
com.bizwink.cms.security.*,
com.bizwink.webtrend.*,
com.bizwink.cms.server.*,
com.bizwink.cms.util.*"
[email protected]
[email protected]
http://jakarta.apache.org/poi/index.html
希望能帮助你
給我發一份可以嗎?
我找到了用JXL寫的,但它只能存在服務器上,如果有多人用的話就可能為出問題,而且只能保存為文件不能調EXECL程序打開這個文件.
給我發一份可以嗎?
我找到了用JXL寫的,但它只能存在服務器上,如果有多人用的話就可能為出問題,而且只能保存為文件不能調EXECL程序打開這個文件.
[email protected], 我也有分