国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
用POI把數(shù)據(jù)導(dǎo)出為Excel
最近在做我們的JAVA課程設(shè)計(jì),我的設(shè)計(jì)里面涉及到了對(duì)信息的導(dǎo)出,包括導(dǎo)出Excel和Pdf.在網(wǎng)上查了有關(guān)Poi的資料查了很久終于寫出了滿足自己需求的程序.以下是程序的全部代碼:
(一)SheetDataSource.java
Java代碼 
package com.javaeye.yongsky;
import java.sql.*;
import java.util.*;
import com.microsoft.jdbc.*;
public class SheetDataSource {
private static Connection con ;
private static final String DatabaseName = "POIDEMO";
private static final String userName = "sa";
private static final String password = "123";
public SheetDataSource()
{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
try {
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName="+DatabaseName,userName,password);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static ResultSet selectAllDataFromDB() throws SQLException
{
new SheetDataSource();
Statement stmt = con.createStatement();
return stmt.executeQuery("select * from COMPANY");
}
}
上面部分代碼主要是從數(shù)據(jù)庫(kù)里面取出數(shù)據(jù),作為Excel的數(shù)據(jù)源.
(二)PoiDemo.java
Java代碼 
package com.javaeye.yongsky;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import javax.swing.JOptionPane;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFooter;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class PoiDemo {
//表頭
public static final String[] tableHeader = {"企業(yè)中文名","所屬國(guó)家","企業(yè)英文名","2003年排名","2004年排名","2005年排名",
"2006年排名","2007年排名","主要業(yè)務(wù)","2003年?duì)I業(yè)額","2004年?duì)I業(yè)額","2005年?duì)I業(yè)額","2006年?duì)I業(yè)額","2007年?duì)I業(yè)額","企業(yè)編號(hào)","名次升降",
"圖片","狀況"};
//創(chuàng)建工作本
public static HSSFWorkbook demoWorkBook = new HSSFWorkbook();
//創(chuàng)建表
public static HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");
//表頭的單元格個(gè)數(shù)目
public static final short cellNumber = (short)tableHeader.length;
//數(shù)據(jù)庫(kù)表的列數(shù)
public static final int columNumber = 18;
/**
* 創(chuàng)建表頭
* @return
*/
public static void createTableHeader()
{
HSSFHeader header = demoSheet.getHeader();
header.setCenter("世界五百?gòu)?qiáng)企業(yè)名次表");
HSSFRow headerRow = demoSheet.createRow((short) 0);
for(int i = 0;i < cellNumber;i++)
{
HSSFCell headerCell = headerRow.createCell((short) i);
headerCell.setEncoding(HSSFCell.ENCODING_UTF_16);
headerCell.setCellValue(tableHeader[i]);
}
}
/**
* 創(chuàng)建行
* @param cells
* @param rowIndex
*/
public static void createTableRow(List<String> cells,short rowIndex)
{
//創(chuàng)建第rowIndex行
HSSFRow row = demoSheet.createRow((short) rowIndex);
for(short i = 0;i < cells.size();i++)
{
//創(chuàng)建第i個(gè)單元格
HSSFCell cell = row.createCell((short) i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(cells.get(i));
}
}
/**
* 創(chuàng)建整個(gè)Excel表
* @throws SQLException
*
*/
public static void createExcelSheeet() throws SQLException
{
createTableHeader();
ResultSet rs = SheetDataSource.selectAllDataFromDB();
int rowIndex = 1;
while(rs.next())
{
List<String> list = new ArrayList<String>();
for(int i = 1;i <= columNumber;i++)
{
list.add(rs.getString(i));
}
createTableRow(list,(short)rowIndex);
rowIndex++;
}
}
/**
* 導(dǎo)出表格
* @param sheet
* @param os
* @throws IOException
*/
public void exportExcel(HSSFSheet sheet,OutputStream os) throws IOException
{
sheet.setGridsPrinted(true);
HSSFFooter footer = sheet.getFooter();
footer.setRight("Page " + HSSFFooter.page() + " of " +
HSSFFooter.numPages());
demoWorkBook.write(os);
}
public static void main(String[] args) {
String fileName = "D:\\世界五百?gòu)?qiáng)企業(yè)名次表.xls";
FileOutputStream fos = null;
try {
PoiDemo pd = new PoiDemo();
pd.createExcelSheeet();
fos = new FileOutputStream(fileName);
pd.exportExcel(demoSheet,fos);
JOptionPane.showMessageDialog(null, "表格已成功導(dǎo)出到 : "+fileName);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "表格導(dǎo)出出錯(cuò),錯(cuò)誤信息 :"+e+"\n錯(cuò)誤原因可能是表格已經(jīng)打開(kāi)。");
e.printStackTrace();
} finally {
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
另外在附件里面附帶有本程序所用的所有資源,包括源代碼文件,數(shù)據(jù)庫(kù)和POI的JAR包,歡迎有興趣的朋友參考,并提出寶貴的意見(jiàn).
致謝 :
本程序的數(shù)據(jù)庫(kù)由兄弟溫總提供,為了不讓他免費(fèi)為我們提供他辛辛苦苦做出數(shù)據(jù)庫(kù)而感到心里不平衡,在此向他表示感謝! 
source_code.rar (1.1 MB)
下載次數(shù): 1881
itextDemo(一).rar (2.7 MB)
下載次數(shù): 884
itextDemo(二).rar (2.4 MB)
下載次數(shù): 831
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java POI導(dǎo)出Excel報(bào)表
java操作Excel的神奇之路
使用java技術(shù)將Excel表格內(nèi)容導(dǎo)入mysql數(shù)據(jù)庫(kù)
java實(shí)現(xiàn)excel的導(dǎo)入導(dǎo)出(poi詳解)
Java POI 導(dǎo)出EXCEL經(jīng)典實(shí)現(xiàn) Java導(dǎo)出Excel彈出下載框 【不定期更新】
java 編輯excel
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服