資料庫導出excel表
A. java怎麼把資料庫的內容導出到excel表裡面
第一步:如何用POI操作Excel
@Test
public void createXls() throws Exception{
//聲明一個工作薄
HSSFWorkbook wb = new HSSFWorkbook();
//聲明表
HSSFSheet sheet = wb.createSheet("第一個表");
//聲明行
HSSFRow row = sheet.createRow(7);
//聲明列
HSSFCell cel = row.createCell(3);
//寫入數據
cel.setCellValue("你也好");
FileOutputStream fileOut = new FileOutputStream("d:/a/b.xls");
wb.write(fileOut);
fileOut.close();
}
第二步:導出指定資料庫的所有表
分析:
1:某個數資料庫有多少表,表名是什麼?―――DataBaseMetadate.getMetadate().getTables(null,null,null,new String[]{Table}); - excel的文件名稱。
2:對每一個表進行select * 操作。-每一個sheet的名稱。
3:分析表結構,rs.getMetadate(); ResultSetMedated
4:多個列,列名是什麼.-欄位名就是sheet的第一行信息。
5:獲取每一行的數據 – 放到sheet第一行以後。
@Test
public void export() throws Exception{
//聲明需要導出的資料庫
String dbName = "focus";
//聲明book
HSSFWorkbook book = new HSSFWorkbook();
//獲取Connection,獲取db的元數據
Connection con = DataSourceUtils.getConn();
//聲明statemen
Statement st = con.createStatement();
//st.execute("use "+dbName);
DatabaseMetaData dmd = con.getMetaData();
//獲取資料庫有多少表
ResultSet rs = dmd.getTables(dbName,dbName,null,new String[]{"TABLE"});
//獲取所有表名-就是一個sheet
List<String> tables = new ArrayList<String>();
while(rs.next()){
String tableName = rs.getString("TABLE_NAME");
tables.add(tableName);
}
for(String tableName:tables){
HSSFSheet sheet = book.createSheet(tableName);
//聲明sql
String sql = "select * from "+dbName+"."+tableName;
//查詢數據
rs = st.executeQuery(sql);
//根據查詢的結果,分析結果集的元數據
ResultSetMetaData rsmd = rs.getMetaData();
//獲取這個查詢有多少行
int cols = rsmd.getColumnCount();
//獲取所有列名
//創建第一行
HSSFRow row = sheet.createRow(0);
for(int i=0;i<cols;i++){
String colName = rsmd.getColumnName(i+1);
//創建一個新的列
HSSFCell cell = row.createCell(i);
//寫入列名
cell.setCellValue(colName);
}
//遍歷數據
int index = 1;
while(rs.next()){
row = sheet.createRow(index++);
//聲明列
for(int i=0;i<cols;i++){
String val = rs.getString(i+1);
//聲明列
HSSFCell cel = row.createCell(i);
//放數據
cel.setCellValue(val);
}
}
}
con.close();
book.write(new FileOutputStream("d:/a/"+dbName+".xls"));
}
B. 資料庫的表怎麼導出到excel
1、首先創建一個普通的類,這個類包含你要導出的欄位。(不創建也沒有什麼)
2、再把所有的內容都放入這個類的list集合中。
3、把類寫入excel中
public
static
void
corDownLownExcel(String
sql,
String
path)
{
try
{
WritableWorkbook
wwb
=
null;
//
創建可寫入的Excel
工作簿
String
fileName
=
path;
File
file
=
new
File(fileName);
C. SQL資料庫的表裡面的數據怎麼導出到EXCEL裡面
ASP實例代碼,直接將資料庫中的數據導出到EXCEL電子表中:
<!--#includefile="../conn.asp"-->
<%
dims,sql,filename,fs,myfile,x
Setfs=server.CreateObject("scripting.filesystemobject")
'--假設你想讓生成的EXCEL文件做如下的存放
filename=Server.MapPath("users.xls")
'--如果原來的EXCEL文件存在的話刪除它
iffs.FileExists(filename)then
fs.DeleteFile(filename)
endif
'--創建EXCEL文件
setmyfile=fs.CreateTextFile(filename,true)
'Setrs=Server.CreateObject("ADODB.Recordset")
'--從資料庫中把你想放到EXCEL中的數據查出來
'sql="select*fromTb_Execlorderbyiddesc"
'rs.Opensql,conn
StartTime=Request("StartTime")
EndTime=Request("EndTime")
StartEndTime="AddTimebetween#"&StartTime&"00:00:00#and#"&EndTime&"23:59:59#"
strSql="select*frommyeky_myusr"
SetrstData=conn.execute(strSql)
ifnotrstData.EOFandnotrstData.BOFthen
dimtrLine,responsestr
strLine=""
ForeachxinrstData.fields
strLine=strLine&x.name&chr(9)
Next
'--將表的列名先寫入EXCEL
myfile.writelinestrLine
DowhileNotrstData.EOF
strLine=""
foreachxinrstData.Fields
strLine=strLine&x.value&chr(9)
next
myfile.writelinestrLine
rstData.MoveNext
loop
endif
Response.Write"生成EXCEL文件成功,點擊<ahref=""users.xls""target=""_blank"">下載</a>!"
rstData.Close
setrstData=nothing
Conn.Close
SetConn=nothing
%>
D. Access資料庫怎麼導出到Excel表文件
將Access資料庫導出成Excel表文件需要用到Access中的導出功能。
使用Access版本:Access 2013
步驟:
1、打開要導出的Access文件。
2、打開後,先在左邊的對象欄選擇表—「要導出的表」(以明細表為例)。然後點擊上方的「外部數據」—「Excel」。
3、彈出窗口中,依次選擇要保存的Excel存放路徑,文件格式,然後點擊「確定」按鈕。
4、接下來,會有保存成功的提示,然後點擊「關閉」即可。
5、然後檢查下導出的Excel文件,如圖所示,表明導出成功。
E. 如何從資料庫導出電子表格
你是說從資料庫導成EXCEL那樣的?
貌似直接全選粘貼就可以(SQLserver)
F. 如何將資料庫的表導出生成Excel
方法一:對於會寫查詢SQL語句的則是直接寫查詢語句查詢出結果。如下圖:回
接下來到桌面新建一個空答的excel文件。
接下來回到SQLServer查詢界面。滑鼠右鍵點擊查詢結果的左上角空白列,點擊「連同標題一起復制」。則已復制好了數據。如下圖:
接下來打開之前建好的Excel文件把復制好的數據黏貼到excel即可。如下圖:
方法二:對於不會寫查詢SQL語句的則使用資料庫導出方法。
選中要導出數據的資料庫,點擊右鍵會彈出一個右鍵菜單。點擊「任務」再點擊「導出數據(x)」。如下圖:
點擊了「導出數據(x)」後會彈出一個界面,並填寫好信息。如下圖:
點擊下一步跳轉到如下圖1中的界面。在目標中選中excel類型,界面信息則發生改變,並選中導出的excel路徑。如下圖2。
點擊下一步跳轉至如下界面,選中第一個選項。如下圖:
點擊下一步,勾選要導出的表。如下圖:
點擊下一步,跳轉至如下界面:
點擊下一步:跳轉到如下圖1界面,選擇下一步在點擊完成,則會跳到如下圖2界面。證明已經導出成功了。
打開excel就可用看到導出的Excel了。如下圖:
G. 如何實現從SQL資料庫表中導出數據到Excel
查詢出數據後
就可以選擇導出excel文件了
H. 如何將資料庫表的查詢結果導出EXCEL表中
前段時間正好做了,導入和導出的,你自己看吧
/**導出數據為XLS格式
* @param fos
* @param bo
*/
public void writeExcelBo(FileOutputStream fos, java.util.Vector ve)
{
jxl.write.WritableWorkbook wwb;
try
{
wwb= Workbook.createWorkbook(fos);
jxl.write.WritableSheet ws= wwb.createSheet("booksheet", 10);
ws.addCell(new jxl.write.Label(0, 1, "書目ID"));
ws.addCell(new jxl.write.Label(1, 1, "ISBN"));
ws.addCell(new jxl.write.Label(2, 1, "定價"));
ws.addCell(new jxl.write.Label(3, 1, "書名"));
ws.addCell(new jxl.write.Label(4, 1, "原書名"));
ws.addCell(new jxl.write.Label(5, 1, "副題名"));
ws.addCell(new jxl.write.Label(6, 1, "著者"));
ws.addCell(new jxl.write.Label(7, 1, "譯者"));
ws.addCell(new jxl.write.Label(8, 1, "版次"));
ws.addCell(new jxl.write.Label(9, 1, "出版地"));
ws.addCell(new jxl.write.Label(10, 1, "出版社"));
ws.addCell(new jxl.write.Label(11, 1, "出版日期"));
ws.addCell(new jxl.write.Label(12, 1, "頁數"));
ws.addCell(new jxl.write.Label(13, 1, "書高"));
ws.addCell(new jxl.write.Label(14, 1, "裝幀"));
ws.addCell(new jxl.write.Label(15, 1, "叢書名"));
ws.addCell(new jxl.write.Label(16, 1, "一般性附註項"));
ws.addCell(new jxl.write.Label(17, 1, "簡介"));
ws.addCell(new jxl.write.Label(18, 1, "主題詞"));
ws.addCell(new jxl.write.Label(19, 1, "中圖法分類"));
ws.addCell(new jxl.write.Label(20, 1, "更新日期"));
ws.addCell(new jxl.write.Label(21, 1, "本數"));
book=new Book[ve.size()];
for (int i= 0; i < ve.size(); i++)
{
book[i]= (Book)ve.get(i);
ws.addCell(new jxl.write.Label(0, i + 2, "" + book[i].getBookId()));
ws.addCell(new jxl.write.Label(1, i + 2, book[i].getIsbn()));
ws.addCell(new jxl.write.Label(2, i + 2, "" + book[i].getPrice()));
ws.addCell(new jxl.write.Label(3, i + 2, book[i].getBookTitle()));
ws.addCell(new jxl.write.Label(4, i + 2, book[i].getOldFilename()));
ws.addCell(new jxl.write.Label(5, i + 2, book[i].getSubTitle()));
ws.addCell(new jxl.write.Label(6, i + 2, book[i].getWriter()));
ws.addCell(new jxl.write.Label(7, i + 2, book[i].getTranscribe()));
ws.addCell(new jxl.write.Label(8, i + 2, "" + book[i].getVersion()));
ws.addCell(new jxl.write.Label(9, i + 2, book[i].getPublishCity()));
ws.addCell(new jxl.write.Label(10, i + 2, book[i].getPublisher()));
ws.addCell(new jxl.write.Label(11, i + 2, book[i].getPublishDate().toString()));
ws.addCell(new jxl.write.Label(12, i + 2, "" + book[i].getPage()));
ws.addCell(new jxl.write.Label(13, i + 2, "" + book[i].getHight()));
ws.addCell(new jxl.write.Label(14, i + 2, book[i].getInstall()));
ws.addCell(new jxl.write.Label(15, i + 2, book[i].getSeries()));
ws.addCell(new jxl.write.Label(16, i + 2, book[i].getNotes()));
ws.addCell(new jxl.write.Label(17, i + 2, book[i].getPrecisnotes()));
ws.addCell(new jxl.write.Label(18, i + 2, book[i].getSubject()));
ws.addCell(new jxl.write.Label(19, i + 2, book[i].getCls().replaceAll("_", "")));
ws.addCell(new jxl.write.Label(20, i + 2, book[i].getUpdatedate().toString()));
ws.addCell(new jxl.write.Label(21, i + 2, "0"));
}
jxl.write.WritableFont wfc=
new jxl.write.WritableFont(
WritableFont.ARIAL,
255,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC= new jxl.write.WritableCellFormat(wfc);
ws.addCell(new jxl.write.Label(0, 0, "為保證您提交定單的穩定和正確,導入定單時候請勿更改此表格式(請勿更改書目ID,訂購本數自行添加!)"));
wwb.write();
//關閉Excel工作薄對象
wwb.close();
} catch (IOException e)
{} catch (RowsExceededException e)
{} catch (WriteException e)
{}
}
//導入EXCEL
if (f.getName().indexOf(".xls") > 0)
{
try
{
fis= new FileInputStream(f);
BookBean bob= new BookBean();
UserBean usb= new UserBean();
jxl.Workbook rwb= Workbook.getWorkbook(fis);
jxl.Sheet sh= rwb.getSheet(0);
int rowCount= sh.getRows();
SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");
book= new Book[rowCount - 1];
for (int i= 1; i < rowCount; i++)
{
book[i - 1]= new Book();
jxl.Cell[] ce= sh.getRow(i);
book[i - 1].setIsbn(ce[0].getContents().toString());
book[i - 1].setSeries(ce[1].getContents().toString());
book[i - 1].setBookTitle(ce[2].getContents().toString());
book[i - 1].setWriter(ce[3].getContents().toString());
book[i - 1].setTranscribe(ce[4].getContents().toString());
book[i - 1].setPublisher(ce[5].getContents().toString());
book[i - 1].setPublishDate(sdf.parse(ce[6].getContents().toString(), new ParsePosition(0)));
book[i-1].setVersion(Integer.parseInt(ce[7].getContents().toString()));
book[i-1].setPage(Integer.parseInt(ce[8].getContents().toString()));
book[i-1].setCls(ce[9].getContents().toString());
book[i-1].setPrecisnotes(ce[10].getContents().toString());
book[i-1].setInstall(ce[11].getContents().toString());
book[i-1].setPrice(Float.parseFloat(ce[12].getContents().toString()));
book[i-1].setUserid(usb.getUser().getUserid());
getVector().addElement(book[i - 1]);
}
rwb.close();
fis.close();
} catch (FileNotFoundException e)
{} catch (BiffException e)
{} catch (IOException e)
{} catch (NumberFormatException e)
{
ShowMessage("數據導入失敗,請按照本軟體要求的EXCEL格式導入定單");
}
}
I. 怎麼從mysql資料庫導出數據成excel表格
方法一
用mysql的命令和shell
select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by id desc limit 0, 50;
方法二
把bestlovesky.xls以文本方式打開,然後另存為,在編碼選擇ansi編碼,保存
echo "select id,name from bestlovesky where 1 order by id desc limit 0, 50;"| /usr/local/mysql/bin/mysql -h127.0.0.1-uroot -p123456 > /data/bestlovesky.xls
方法三
mysql -uroot -p -e "select * from test.table2 " > d:a.xsl
J. 資料庫數據怎麼導出到excel
首先我們使用SQLyogEnt工具,連接到mysql資料庫。
連接成功後在左側的目錄位置,找到需要的表,右鍵打開表
也可以直接在sql執行器中輸入:
select * from datetable name
打開這個表
4
在sql執行器的下方,結果下方,最左側的位置,如下圖,有一個小圖標,滑鼠移動上面會浮出文字「導出為....」點擊這個圖標
5
點擊後會彈出一個名為「導出為」的彈出窗口,選擇需要導出的文件格式:如csv、html、xnl等,在右側選擇導出的欄位
6
在界面的最下方有一個輸入框,框中是程序默認的一個導出的路徑,也可以點擊路徑旁的按鈕,進行自定義導出文件路徑。