A. ASP.NET里如何将DataTable的数据导入Excel,有几种方法呢
1.水晶报表
2.用控件将DataTable中的数据呈现到页面上,用html转为excel的形式直接导出
3.Oledb,将excel作为数据源进行衫丛类似sql的操作
4.调用微缺吵软的Excel的office组件
5.调用或扮樱第三方的链接库文件,如SpeedGear
B. 两个table的数据怎么导入到同一个excel
利用复制工作表就可以顷族完成。
例:
有3个excel文件,文件名分别为:1.xlsx、2.xlsx、3.xlsx,如图所示:
要将这3个文件中对应的工作表全部合成到1个新的excel文件中,可以这样做:
1、新建excel文件,并保存(假设保存昌没文件雀迅弊名为:合并后数据.xlsx...
C. jsp页面table导入excel数据
jsp页面中可以通过动态生成excel的方式把table数据导入并保存。
以下是例子:源扒御
public static void crExcel(List list, String absoluteFileString)
throws Exception {
// 字体格式
WritableFont wfc0 = new WritableFont(WritableFont.ARIAL, 22,WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
WritableCellFormat wcfFC0 = new WritableCellFormat(wfc0);
wcfFC0.setAlignment(jxl.format.Alignment.CENTRE);
wcfFC0.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
wcfFC0.setBorder(Border.ALL, BorderLineStyle.THIN,jxl.format.Colour.GRAY_25);
// 表头字体
WritableFont wfc8 = new WritableFont(WritableFont.ARIAL, 12,WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
WritableCellFormat wcfFC8 = new WritableCellFormat(wfc8);
wcfFC8.setAlignment(jxl.format.Alignment.CENTRE);
wcfFC8.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
wcfFC8.setBorder(Border.ALL, BorderLineStyle.THIN,jxl.format.Colour.GRAY_25);
WritableFont wfc1 = new WritableFont(WritableFont.ARIAL, 10,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
WritableCellFormat wcfFC1 = new WritableCellFormat(wfc1);
wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);
wcfFC1.setBorder(Border.ALL, BorderLineStyle.THIN,jxl.format.Colour.GRAY_25);
// 创建excel
OutputStream os = new FileOutputStream(absoluteFileString);
String readPath = I18nMessages.getText("efine.excel.dir");
InputStream input = new FileInputStream(readPath
+ "FKBalanceReport.xls");
Workbook workbook = Workbook.getWorkbook(input);
WritableWorkbook book = Workbook.createWorkbook(os, workbook);
WritableSheet sheet = book.getSheet(0);
// 数据写雹岩入
Label label = null;
// Title
//label = new jxl.write.Label(3, 0, "到期付款信息表", wcfFC0);
//sheet.addCell(label);
/*
* label = new jxl.write.Label(0, 3, "此旦备注", wcfFC4);
* sheet.addCell(label);
*/
label = new jxl.write.Label(0, 0, "到期日", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(1, 0, "部门名称", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(2, 0, "币种", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(3, 0, "银行", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(4, 0, "金额", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(5, 0, "业务类型", wcfFC8);
sheet.addCell(label);
label = new jxl.write.Label(6, 0, "摘要", wcfFC8);
sheet.addCell(label);
sheet.setName("到期付款信息查询");
int j = 1;
for (int i = 0; i <list.size(); i++) {
DNCM02 dto = (DNCM02) list.get(i);
label = new Label(0, i + j, CommonUtil.dateToStr(dto.getEndDay()),
wcfFC1);
sheet.addCell(label);
label = new Label(1, i + j, dto.getEndDeptName(), wcfFC1);
sheet.addCell(label);
label = new Label(2, i + j, dto.getCurrencyName(), wcfFC1);
sheet.addCell(label);
label = new Label(3, i + j, dto.getEndBankName(), wcfFC1);
sheet.addCell(label);
label = new Label(4, i + j, CommonUtil.formatString(dto
.getEndAmount().toString()), wcfFC1);
sheet.addCell(label);
label = new Label(5, i + j, dto.getEndTypeName(), wcfFC1);
sheet.addCell(label);
label = new Label(6, i + j, dto.getRemark(), wcfFC1);
sheet.addCell(label);
}
book.write();
book.close();
os.close();
}
然后指定excel的保存路径即可。
D. 两个table的数据怎么导入到同一个excel
你好,其实excel有个功能叫数据库,就是一个现成的程序。
“数据”清野选项卡下,亮谨自其他来源——“来自Microsoft Query ”,然后在“数据库答键喊”选项卡下点击
EXCEL FILES 确定,然后选择需要的文件信息,就可以了,最后选中“将数据返回EXCEL” 单击完成就哦了
E. 如何将asp.net中table中数据导入到excel中
最简单的方升纯法是将table数据遍历, 用/t, /r/n等组装成文本, 保存为xls后缀的吵源咐文件, 不懂再问我, 求采裂清纳
F. Javascript实现把网页中table的内容导入到excel中的几种方法
WEB页面导出为EXCEL文档的方法</td</tr<tr<td列标题1</td<td列标题2</td<td列标题3</td<td列标题4</td<td列标题5</td</tr<tr<tdaaa</td<tdbbb</td<tdccc</td<tdddd</td<tdeee</td</tr<tr<tdAAA</td<tdBBB</td<tdCCC</td<tdDDD</td<tdEEE</td</tr<tr<tdFFF</td<tdGGG</td<tdHHH</td<tdIII</td<tdJJJ</td</tr</table<inputtype=buttononclick=javascript:method1('tableExcel');value=第一种方法导入到EXCEL<inputtype=buttononclick=javascript:method2('tableExcel');value=第二种方法导入到EXCEL<橡唤inputtype=buttononclick=javascript:getXlsFromTbl('tableExcel',null);value=第三种方法导入到EXCEL<SCRIPTLANGUAGE=javascriptfunctionmethod1(tableid){//整个表格拷贝到EXCEL中varcurTbl=document.getElementById(tableid);varoXL=newActiveXObject(
Excel.Application);//创建AX对象excelvaroWB=oXL.Workbooks.Add();//获取workbook对象varoSheet=oWB.ActiveSheet;//激活当前sheetvarsel=document.body.createTextRange();
sel.moveToElementText(curTbl);//把表格中的内容移到TextRange中
sel.select();//全选TextRange中内容
sel.execCommand(Copy);//复制TextRange中内容
oSheet.Paste();//粘贴到活动的EXCEL中知如宴
oXL.Visible=true;//设置excel可见属性}functionmethod2(tableid)//读取表格中每个单元到EXCEL中{varcurTbl=document.getElementById(tableid);varoXL=newActiveXObject(
Excel.Application);//创建AX对象excelvaroWB=oXL.Workbooks.Add();//获取workbook对象varoSheet=oWB.ActiveSheet;//激活当前sheetvarLenr=curTbl.rows.length;//取得表格搭银行数for(i=0;i<Lenr;i++){varLenc=curTbl.rows(i).cells.length;//取得每行的列数for(j=0;j<Lenc;j++){oSheet.Cells(i+1,j+1
).value=curTbl.rows(i).cells(j).innerText;//赋值}}oXL.Visible=true;//设置excel可见属性}functiongetXlsFromTbl(inTblId,inWindow){try{varallStr=;varcurStr=;//alert(getXlsFromTbl);if(inTblId!=null&&inTblId!=&&inTblId!=null){curStr=getTblData(inTblId,inWindow);}if(curStr!=null){allStr+=curStr;}else{alert(
你要导出的表不存在!);return;}varfileName=getExcelFileName();
doFileExport(fileName,allStr);}catch(e){alert(
导出发生异常:+
e.name+-+
e.description+!);}}functiongetTblData(inTbl,inWindow){varrows=0;//alert(getTblDatais+inWindow);vartblDocument=document;if(!!inWindow&&inWindow!=){if(!document.all(inWindow)){returnnull;}else{tblDocument=eval(inWindow).document;}}varcurTbl=tblDocument.getElementById(inTbl);varoutStr=;if(curTbl!=null){for(varj=0;j<curTbl.rows.length;j++){//alert(jis+j);for(vari=0;i<curTbl.rows[j].cells.length;i++){//alert(iis+i);if(i==0&&rows0){outStr+=;rows-=1;}outStr+=curTbl.rows[j].cells[i].innerText+;if(curTbl.rows[j].cells[i].colSpan1){for(vark=0;k<curTbl.rows[j].cells[i].colSpan-1;k++){outStr+=;}}if(i==0){if(rows==0&&curTbl.rows[j].cells[i].rowSpan1){rows=curTbl.rows[j].cells[i].rowSpan-1;}}}outStr+=;}}else{outStr=null;alert(inTbl+不存在!);}returnoutStr;}functiongetExcelFileName(){vard=newDate();varcurYear=
G. 怎么将table里的数据导入excel中
DataTable.ImportSheet(FileName,SheetSource,SheetDest)
DataTable.ExportSheet(FileName,DTSheet)
用上述的方法,在脚本中导入导出excel中的数据。对凯雀应的族携是文件名,文件路径,还有盯穗早excel的sheet名。
H. javascript如何将table导入excel
js导出excel和word都可以:
JavaScript导出Table到Word和Excel
// JavaScript Document
//js代码
//导出到excel
function AutomateExcel(tableid){
var elTable = document.getElementById(tableid); /培磨漏/要导出的table id。
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText(elTable);
oRangeRef.execCommand("Copy");
var appExcel = new ActiveXObject("Excel.Application");
appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
appExcel.Visible = true;
appExcel = null;
}
/配烂/导出到word
//指定页面区域内容导入Word
function AllAreaWord(tableid)
{
var elTable = document.getElementById(tableid);
var sel = document.body.createTextRange();
sel.moveToElementText(elTable);
sel.execCommand("Copy");
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var orange =oDC.Range(0,1);
//sel.select();
orange.Paste();
oWD.Application.Visible = true;
oWD = null;
}
调用方法:
<input name="word" type="button" value="导出到word" onclick="AllAreaWord('tableid');" /> <input name="excel" type="游陵button" value="导出到excel" onclick="AutomateExcel('tableid');"/>
I. 请问下,怎么给SQL 数据库中的表table导入Microsoft Excel 工作表中的数据
SQL Server导出为Excel:
要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返 回任何输出。”下面为定义示例:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"servername" -U"sa" -P""'
--参数:S 是SQL服务器名;U是用户名;P是密码,没有就空着
--说明:其实用这个过程导出的格式实质上就是文本格式的,不信的话在导出的Excel表中改动一下再保存看看。
实际例子与说明如下:
/*如果要将表整个导出至Excel的话*/
EXEC master..xp_cmdshell 'bcp northwind.dbo.orders out c:\Book1.xls -c -q -S"(local)" -U"sa" -P""'
--注意句中的northwind.dbo.orders,为数据库名+拥有者+表名
--直接导出用“out”关健字
-------------------------------------------
/*如果要利用查询来导出部分字段至Excel的话*/
EXEC master..xp_cmdshell 'bcp "SELECT orderid,cutomerid,freight FROM northwind..orders ORDER BY orderid" queryout C:\ Book2.xls -c -S"(local)" -U"sa" -P""'
--这里在bcp后面加了一个查询语句,并用双引号括起来
--利用查询要用“queryout”关键字
2、掘迹返Excel导入SQL Server表:
在SQL Server中,有定义一个OpenDateSource函数,用于引用那些不经常访问的 OLE DB 数据源,而我们的数据互导操作,就是建立在这个函数之上。
首先看一个T-SQL帮助中的示例,描述如下:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"servername" -U"sa" -P""'
--参数:S 是SQL服务器名;U是判饥用户名;P是密码,没有就空着
--说明:其实用这个过程导出的格式实质上就是文本格式的,不信州启的话在导出的Excel表中改动一下再保存看看。
实际例子与说明如下:
/*如果要将表整个导出至Excel的话*/
EXEC master..xp_cmdshell 'bcp northwind.dbo.orders out c:\Book1.xls -c -q -S"(local)" -U"sa" -P""'
--注意句中的northwind.dbo.orders,为数据库名+拥有者+表名
--直接导出用“out”关健字
-------------------------------------------
/*如果要利用查询来导出部分字段至Excel的话*/
EXEC master..xp_cmdshell 'bcp "SELECT orderid,cutomerid,freight FROM northwind..orders ORDER BY orderid" queryout C:\ Book2.xls -c -S"(local)" -U"sa" -P""'
--这里在bcp后面加了一个查询语句,并用双引号括起来
--利用查询要用“queryout”关键字
J. 如何把页面上的table数据导入到Excel中
var elTable = document.getElementByIdx_x_x("tb");
//tb为页面上table的id
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText( elTable );
oRangeRef.execCommand( "Copy" );
var appExcel = new ActiveXObject( "Excel.Application" );
appExcel.Visible = true;
appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
appExcel = null;
将以上JS代码放到一个function中,利用一个按钮触发,运行时可能会出现“Automation
服务器不能创建对象”错误,解决方法为:打开打开Internet Explorer
工具->选项->安闹坦全->自定义级别,将谈尺第三项“对没有标记为安全的activex控件进行初始化和脚本运行”设置成“启用”即可。
我是这样做的:
File file = new File("C:\\Documents and
Settings\\Administrator\\桌面\\物流报表");
if(!file.exists()){//如果不存在该文件夹
file.mkdir();//新建一个
}
String fileName = "C:/Documents
and Settings/Administrator/桌面/物流报表/报表" + time + ".xls";
// String fileName =
"C://apache-tomcat-6.0.29";
WritableWorkbook book =
Workbook.createWorkbook(new
File(fileName));
WritableSheet sheet =
book.createSheet("报表", 0);
//设置Excel标题字体
jxl.write.WritableFont wfc1 =
new jxl.write.WritableFont(WritableFont.ARIAL, 20,
WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLUE);
jxl.write.WritableCellFormat
wcfFC1 = new
jxl.write.WritableCellFormat(wfc1);
jxl.write.Label labelB10 = new
jxl.write.Label(2, 0, "物流" + datas[1] + "度报表", wcfFC1);
//设置Excel列标题字体
jxl.write.WritableFont wfc2 =
new jxl.write.WritableFont(WritableFont.ARIAL, 13,
WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.RED);
jxl.write.WritableCellFormat
wcfFC2 = new jxl.write.WritableCellFormat(wfc2);
jxl.write.Label labelB1 = new
jxl.write.Label(0, 1, "配送点", wcfFC2);
jxl.write.Label labelB2 = new
jxl.write.Label(1, 1, "报表时含弯高间", wcfFC2);
jxl.write.Label labelB3 = new
jxl.write.Label(2, 1, "报表生成时间", wcfFC2);
jxl.write.Label labelB4 = new
jxl.write.Label(3, 1, "发货数量", wcfFC2);
jxl.write.Label labelB5 = new
jxl.write.Label(4, 1, "送货数量", wcfFC2);
jxl.write.Label labelB6 = new
jxl.write.Label(5, 1, "总数量", wcfFC2);
jxl.write.Label labelB7 = new
jxl.write.Label(6, 1, "发货收入", wcfFC2);
jxl.write.Label labelB8 = new
jxl.write.Label(7, 1, "送货收入", wcfFC2);
jxl.write.Label labelB9 = new
jxl.write.Label(8, 1, "本年度总收入", wcfFC2);
//设置表格里的数据字体
jxl.write.WritableFont wfc3 =
new jxl.write.WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat
wcfFC3 = new jxl.write.WritableCellFormat(wfc3);
jxl.write.Label label =
null;
try {
sheet.addCell(labelB1);
sheet.addCell(labelB2);
sheet.addCell(labelB3);
sheet.addCell(labelB4);
sheet.addCell(labelB5);
sheet.addCell(labelB6);
sheet.addCell(labelB7);
sheet.addCell(labelB8);
sheet.addCell(labelB9);
sheet.addCell(labelB10);
int j =
0;//控制行数
for(int i =
0;i < datas.length;i++){
if(i%9
== 0){
j++;
}
label
= new jxl.write.Label(i%9,j+1,datas[i],wcfFC3);
sheet.addCell(label);
}
book.write();
book.close();
}catch (Exception e) {
e.printStackTrace();
}