導航:首頁 > 編程語言 > 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動態合並單元格相關的資料

熱點內容
百度地圖js雙擊事件監聽 瀏覽:953
c程序中怎麼移動游標 瀏覽:955
無法從googleplay下載更多文件 瀏覽:13
蘋果手機qq裡面的視頻怎麼看 瀏覽:627
機密文件多少件按泄密處理 瀏覽:745
編譯linux 瀏覽:666
macbookpro2011拆機教程 瀏覽:675
eclipse代碼補全快捷鍵 瀏覽:873
電腦編程序的軟體有哪些 瀏覽:80
海賊王漫畫哪個網站 瀏覽:42
劍靈蘋果系統錯誤 瀏覽:707
蘋果5前置攝像頭旁邊是什麼孔 瀏覽:51
officeaccess資料庫 瀏覽:47
列印文件右邊顯示帶格式的 瀏覽:66
老版本仙劍傳奇 瀏覽:232
linux命令大全百度雲 瀏覽:328
5s如何備份程序到6s上 瀏覽:552
管家婆打開資料庫失敗 瀏覽:490
寧波編程考級是學什麼的 瀏覽:654
jdk提供的用於並發編程的同步器有哪些 瀏覽:551

友情鏈接