用java存取excel文件,还是永jdbc比较适合.
用用jakarta 的poi,非常好用.
用用jakarta 的poi,非常好用.
解决方案 »
- 假如有三个WAV语音文件,如何合并在网页中的MediaPlay播放器里当成一个文件来播放?
- Word内容粘贴至在线HTML内容编辑器出现的问题
- jsp如何 操作mysql中datetime的数据类型
- 获取SQL语句记录的问题
- 创建一个jsp的web应用系统需不需要新建一个oracle数据库?
- 这个字符串越界问题如何解决啊?
- 简单的问题
- 搞JSP需要学习javascrip吗?
- rs=stmt.executeQuery(sql);是不是如果select 不到数据,这句话就不返回。我在这句话后面加了一句System.out.println("fsa")
- struts2国际化的时候,网页的网址里边loginForm.jsp?request_locale=en_US,但是页面还是中文是怎么回事?
- 请教一下关于java中的float类型的数据相加出现的数据误差问题。
- 请问:如何解决“对只转发结果集的无效操作:last”
我已经自己解决了。
jxl类是网上下载的,也就是jakarta。
代码如下:
<%@page contentType="text/html; charset=gb2312" language="java"%>
<%@page import="java.io.*" %>
<%@page import="jxl.*" %>
<%@page import="jxl.write.*" %>
<%@page import="jxl.format.*" %><html>
<head>
<title>Excel</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
try
{
InputStream is = new FileInputStream("c:\\hihigo.xls");
jxl.Workbook rwb = Workbook.getWorkbook(is);
int mysheets = rwb.getNumberOfSheets();
jxl.Sheet rs = rwb.getSheet(0);
String myname = ""+rs.getName();
int rsColumns = rs.getColumns();
int rsRows = rs.getRows();
Cell c00 = rs.getCell(1,1);
String strc00 = c00.getContents();
String mytype0 = ""+c00.getType();
Cell c01 = rs.getCell(2,2);
String strc01 = c01.getContents();
String mytype1 = ""+c01.getType();%>
No of sheets : <%=mysheets%>
<br>
sheet name: <%=myname%>
<br>
No of Columns : <%=rsColumns%>
<br>
No of Rows : <%=rsRows%>
<br>
vlaue1: <%=strc00%>
<br>
type1 : <%=mytype0%>
<br>
vlaue2: <%=strc01%>
<br>
type2 : <%=mytype1%>
<%
rwb.close();
}
catch (Exception e)
{
e.printStackTrace();
}
%>
<%
try
{
//Method 1:创建可写入的Excel工作薄
//jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile,rw));
//Method 2:将WritableWorkbook直接写入到输出流
OutputStream os = new FileOutputStream("c:\\test.xls");
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
//1.添加Label对象
jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell");
ws.addCell(labelC);
//添加带有字型Formatting的对象
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", wcfF);
ws.addCell(labelCF);
//添加带有字体颜色Formatting的对象
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLUE);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
jxl.write.Label labelCFC = new jxl.write.Label(1, 0, "This is a Label Cell", wcfFC);
ws.addCell(labelCFC);
//2.添加Number对象
jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
ws.addCell(labelN);
//添加带有formatting的Number对象
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN);
ws.addCell(labelNF);
//3.添加Boolean对象
jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false);
ws.addCell(labelB);
//4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, new java.util.Date());
ws.addCell(labelDT);
//添加带有formatting的DateFormat对象
jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(), wcfDF);
ws.addCell(labelDTF);
//写入Exel工作表
wwb.write();
//关闭Excel工作薄对象
wwb.close();
out.println("ok");
}
catch (Exception e)
{
out.println("not ok");
e.printStackTrace();
}
%>
</html>
将jxl.jar 复制到JDK目录/JRE/LIB/EXT
http://www.andykhan.com/jexcelapi/