导航:首页 > 编程语言 > jsp动态合并单元格

jsp动态合并单元格

发布时间:2024-11-04 12:49:08

❶ 请问用jsP页面做表格能不能单元格合并啊求高手指点·相当感谢

完全可以, 只需增加colspan属性即可,把4、5、6对应的代码改为:

<trheight="100xp">
<tdcolspan="3">456</td>
</tr>

colspan 属性规定单元格可横跨的内列数,同样的,可以用容rowspan 规定单元格可横跨的行数。

❷ 帮帮忙 jsp如何把数据库里的数据生成excel文档

可以联系我,给你jxl.jar
========================
jxl.jar
开放分类: java

通过java操作excel表格的工具类库
支持Excel 95-2000的所有版本
生成Excel 2000标准格式
支持字体、数字、日期操作
能够修饰单元格属性
支持图像和图表
应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。
搭建环境
将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。

基本操作
一、创建文件
拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
代码(CreateXLS.java):
//生成Excel的类
import java.io.*;
import jxl.*;
import jxl.write.*;
public class CreateXLS
{
public static void main(String args[])
{
try
{
//打开文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet=book.createSheet(“第一页”,0);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label=new Label(0,0,”test”);
//将定义好的单元格添加到工作表中
sheet.addCell(label);
/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number = new jxl.write.Number(1,0,789.123);
sheet.addCell(number);
//写入数据并关闭文件
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
编译执行后,会在当前位置产生一个Excel文件。

二、读取文件
以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
//读取Excel的类
import java.io.*;
import jxl.*;
public class ReadXLS
{
public static void main(String args[])
{
try
{
Workbook book=
Workbook.getWorkbook(new File(“测试.xls”));
//获得第一个工作表对象
Sheet sheet=book.getSheet(0);
//得到第一列第一行的单元格
Cell cell1=sheet.getCell(0,0);
String result=cell1.getContents();
System.out.println(result);
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
程序执行结果:test
四、修改文件
利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表:
//修改Excel的类,添加一个工作表
import java.io.*;
import jxl.*;
import jxl.write.*;
public class UpdateXLS
{
public static void main(String args[])
{
try
{
//Excel获得文件
Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));
//打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”),wb);
//添加一个工作表
WritableSheet sheet=book.createSheet(“第二页”,1);
sheet.addCell(new Label(0,0,”第二页的测试数据”));
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}

三、高级操作

数据格式化
在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。
1、 字串格式化
字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:
WritableFont font1=
new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); 或//设置字体格式为excel支持的格式 WritableFont font3=new WritableFont(WritableFont.createFont("楷体_GB2312"),12,WritableFont.NO_BOLD );① WritableCellFormat format1=new WritableCellFormat(font1); ② Label label=new Label(0,0,”data 4 test”,format1) ③ 其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。 ②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。 ③处使用了Label类的构造子,指定了字串被赋予那种格式。 在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定:
//把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
//把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//设置自动换行
format1.setWrap(true);

单元格操作
Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。
1、 合并单元格
WritableSheet.mergeCells(int m,int n,int p,int q);
作用是从(m,n)到(p,q)的单元格全部合并,比如:
WritableSheet sheet=book.createSheet(“第一页”,0);
//合并第一列第一行到第六列第一行的所有单元格
sheet.mergeCells(0,0,5,0);
合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。
2、 行高和列宽
WritableSheet.setRowView(int i,int height);
作用是指定第i+1行的高度,比如:
//将第一行的高度设为200
sheet.setRowView(0,200);
WritableSheet.setColumnView(int i,int width);
作用是指定第i+1列的宽度,比如:
//将第一列的宽度设为30
sheet.setColumnView(0,30);

四、操作图片
public static void write()throws Exception{
WritableWorkbook wwb=Workbook.createWorkbook(new File("c:/1.xls"));
WritableSheet ws=wwb.createSheet("Test Sheet 1",0);
File file=new File("C:\\jbproject\\PVS\\WebRoot\\weekhit\\1109496996281.png");
WritableImage image=new WritableImage(1, 4, 6, 18,file);
ws.addImage(image);
wwb.write();
wwb.close();
}
很简单和插入单元格的方式一样,不过就是参数多了些,WritableImage这个类继承了Draw,上面只是他构造方法的一种,最后一个参数不用了说了,前面四个参数的类型都是double,依次是 x, y, width, height,注意,这里的宽和高可不是图片的宽和高,而是图片所要占的单位格的个数,因为继承的Draw所以他的类型必须是double,具体里面怎么实现的我还没细看:)因为着急赶活,先完成功能,其他的以后有时间慢慢研究。以后会继续写出在使用中的心得给大家。
读:
读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格.
InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格
代码:
String path="c:\\excel.xls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1
String content=cell.getContents();//getContents()将Cell中的字符转为字符串
wb.close();//关闭工作薄
is.close();//关闭输入流
我们可以通过Sheet的getCell(x,y)方法得到任意一个单元格,x,y和excel中的坐标对应.
例如A1对应(0,0),A2对应(0,1),D3对应(3,2).Excel中坐标从A,1开始,jxl中全部是从0开始.
还可以通过Sheet的getRows(),getColumns()方法得到行数列数,并用于循环控制,输出一个sheet中的所有内容.
写:
往Excel中写入内容主要是用jxl.write包中的类.
思路是这样的:
OutputStream<-WritableWorkbook<-WritableSheet<-Label
这里面Label代表的是写入Sheet的Cell位置及内容.
代码:
OutputStream os=new FileOutputStream("c:\\test.xls");//输出的Excel文件URL
WritableWorkbook wwb = Workbook.createWorkbook(os);//创建可写工作薄
WritableSheet ws = wwb.createSheet("sheet1", 0);//创建可写工作表
Label labelCF=new Label(0, 0, "hello");//创建写入位置和内容
ws.addCell(labelCF);//将Label写入sheet中
Label的构造函数Label(int x, int y,String aString)xy意同读的时候的xy,aString是写入的内容.
WritableFont wf = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD, false);//设置写入字体
WritableCellFormat wcfF = new WritableCellFormat(wf);//设置CellFormat
Label labelCF=new Label(0, 0, "hello");//创建写入位置,内容和格式
Label的另一构造函数Label(int c, int r, String cont, CellFormat st)可以对写入内容进行格式化,设置字体及其它的属性.
现在可以写了
wwb.write();
写完后关闭
wwb.close();
输出流也关闭吧
os.close;
OK,只要把读和写结合起来,就可以在N个Excel中读取数据写入你希望的Excel新表中,还是比较方便的.
下面是程序一例:
程序代码:sql = "select * from tablename";
rs = stmt.executeQuery(sql);
//新建Excel文件
String filePath=request.getRealPath("aaa.xls");
File myFilePath=new File(filePath);
if(!myFilePath.exists())
myFilePath.createNewFile();
FileWriter resultFile=new FileWriter(myFilePath);
PrintWriter myFile=new PrintWriter(resultFile);
resultFile.close();
//用JXL向新建的文件中添加内容
OutputStream outf = new FileOutputStream(filePath);
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(outf);
jxl.write.WritableSheet ws = wwb.createSheet("sheettest", 0);
int i=0;
int j=0;
for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {
ws.addCell(new Label(k,0,rs.getMetaData().getColumnName(k+1)));
}
while(rs.next()){
out.println(rs.getMetaData().getColumnCount());
for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {
ws.addCell(new Label(k,j+i+1,rs.getString(k+1)));
}
i++;
}
wwb.write();
wwb.close();
}catch(Exception e){e.printStackTrace();}
finally{
rs.close();
conn.close();
}
response.sendRedirect("aaa.xls");

❸ jsp 里面两个TD之间的边框如何能去掉 显示的时候看似合并在一起的

要看两个td的相对位置
若为上下,上边的设置 border-bottom-style : none 下边的 border-top-style : none
若为左右,左边的设置 border-right-style : none 右边的 border-left-style : none

❹ JSP 如何合并table中一列中内容相同的行

我觉得只能等页面加载完了,用for循环遍历了,找到一样的就在上面的td里面加colspan属性了,再把下面的隐藏掉,不过这方法非常的不智能。。。
智能的我就不知道了

❺ java web程序设计要学些什么

Java Web程序设计分为5部分共19章,包括入门、JSP编程、Servlet和JavaBean开发、应用开发与框架、其他内容。
第1章 Java Web开发环境配置
1.1 B/S结构
1.2 服务器安装
1.2.1 服务器的作用
1.2.2 获取服务器软件
1.2.3 安装服务器
1.2.4 测试服务器
1.2.5 配置服务器
1.3 IDE安装
1.3.1 IDE的作用
1.3.2 获取IDE软件
1.3.3 安装IDE
1.3.4 配置IDE
1.4 第一个Web项目
1.4.1 创建一个Web项目
1.4.2 目录结构
1.4.3 部署
1.4.4 常见错误
1.5 本章总结
1.6 上机习题
第2章 HTML基础
2.1 静态网页制作
2.1.1 HTML简介
2.1.2 HTML文档的基本结构
2.2 HTML中的常见标签
2.2.1 文字布局及字体标签
2.2.2 列表标签
2.3 表格标签
2.3.1 表格基本设计
2.3.2 合并单元格
2.4 链接和图片标签
2.5 表单标签
2.6 框架
2.7 本章总结
2.8 上机习题
第3章 JavaScript基础
3.1 JavaScript简介
3.1.1 第一个JavaScript程序
3.1.2 JavaScript语法
3.2 JavaScript内置对象
3.2.1 window对象
3.2.2 history对象
3.2.3 document对象
3.2.4 location对象
3.3 本章总结
3.4 上机习题
第4章 JSP基本语法
4.1 第一个JSP页面
4.2 注释
4.3 JSP表达式
4.4.JSP程序段
4.5 JSP声明
4.6 URL传值
4.7 JSP指令和动作
4.7.1 JSP指令
4.7.2 JSP动作
4.8 本章总结
4.9 上机习题
第5章 表单开发
5.1 认识表单
5.1.1 表单的作用
5.1.2 定义表单
5.2 单一表单元素数据的获取
5.2.1 获取文本框中的数据
5.2.2 获取密码框中的数据
5.2.3 获取多行文本框中的数据
5.2.4 获取单选按钮中的数据
5.2.5 获取下拉菜单中的数据
5.3 捆绑表单元素数据的获取
5.3.1 获取复选框中的数据
5.3.2 获取多选列表框中的数据
5.3.3 获取其他同名表单元素中的数据
5.4 隐藏表单
5.5 其他问题
5.5.1 用JavaScript进行提交
5.5.2 和文乱码问题
5.6 本章总结
5.7 上机习题
第6章 JSP访问数据库
6.1 JDBC简介
6.2 建立ODBC数据源
6.3 JDBC操作
6.3.1 添加数据
6.3.2 删除数据
6.3.3 修改数据
6.3.4 查询数据
6.4 使用Prepared Statement
6.5 事务
6.6 使用厂商驱动进行数据库连接
6.7 本章总结
6.8 上机习题
第7章 JSP内置对象(1)
7.1 认识JSP内置对象
7.2 out对象
7.3 request对象
7.4 response对象
7.4.1 利用response对象进行重定向
7.4.2 利用response设置HTTP头
7.5 Cookie操作
7.6 本章总结
7.7 上机习题
第8章 JSP内置对象(2)
8.1 利用session开发购物车
8.1.1 购物车需求
8.1.2 如何用session开发购物车
8.2 session其他API
8.2.1 session的其他操作
8.2.2 SessionId
8.2.3 利用session保存登录信息
8.3 application对象
8.4 其他对象
8.5 本章总结
8.6 上机习题
第9章 Servlet编程
9.1 认识Servlet
9.2 编写Servlet
9.2.1 建立Servlet
9.2.2 Servlet运行机制
9.3 Servlet生命周期
9.4 Servlet与JSP内置对象
9.5 设置欢迎页面
9.6 在Servletr辛读取参数
9.6.1 设置参数
9.6.2 获取参数
9.7 使用过滤器
9.7.1 为什么需要过滤器
9.7.2 编写过滤器
9.7.3 需要注意的问题
9.8 异常处理
9.9 本章总结
9.10 上机习题
第10章 JSP和JavaBean
10.1 认识JavaBean
10.1.1 编写JavaBean
10.1.2 特殊JavaBean属性
10.2 在JSP扣使用JavaBean
10.3 JavaBean的范围
10.4 DAO和VO
10.4.1 为什么需要DAO和VO
10.4.2 编写DAO和VO
……
第11章 EL和JSTL
第12章 Ajax入门
第13章 验证码和文件上传、下载
第14章 MVC和Struts基本原则
第15章 Struts标签库
第16章 Struts资源文件和错误处理
第17章 Struts 2基本开发
第18章 JSP自定义标签
第19章 Web网站安全

❻ java,web程序设计要学些什么

第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; (基础)
第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳过,用的时候再看都能来及;
第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分(重点);
第四阶段:数据库SQL基础,包括增删改查操作以及多表查询; Oracle Mysql
第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,CRM思想(高级)这个比较不好懂,有时间的可以学习;
第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
第八阶段:JavaScript脚本语言,包括javaScript语法和对象,Ajax基础 ;就这两个方面的内容;
第九阶段:Servlet开发,从此开始踏入javaWeb开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,java web开发的基础。 (重要)
第十阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
第十一阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库,Jquery;
第十二阶段:三大框架-struts、spring、hibernate,javaWeb的精华部分(重要)
第十三阶段:其他框架学习-springMVC、mybatis,目前比较主流的框架
第十四阶段:当学习完这些知识后,你就可以深层次的学习一些企业框架,Maven、redis、log4j等等
第十五阶段:一般现在的公司企业用的系统服务器都是linux,所以有兴趣的可以学习一下,linux的各种命令

阅读全文

与jsp动态合并单元格相关的资料

热点内容
javascript百度地图 浏览:380
苹果4怎么弄3g网络 浏览:775
如何删除公司文件 浏览:659
u盘歌曲怎么从文件夹剪切出来 浏览:766
错误数据怎么解决 浏览:835
株洲编程学校哪个好 浏览:266
linuxlast时间 浏览:305
齐鲁高速app如何设置 浏览:542
文件的存储路径分为 浏览:889
win10鼠标滑轮失灵 浏览:201
word文档内超链接 浏览:264
苹果7plus光学变焦 浏览:329
ie11升级出错 浏览:311
win10xp局域网 浏览:615
花源app盈利模式 浏览:619
可以私信的app有哪些 浏览:86
flink用户点击行为数据怎么获取 浏览:761
js改变css中的内容 浏览:39
iphone取消共享 浏览:591
js浮框 浏览:816

友情链接