本篇文章给大家谈谈js操作excel教程,以及js excel表格对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
js中如何设置倒出的excel表格的格式
// JavaScript Document
//功能:导出多个表格到EXCEL或者ET
//调用方法:toExcel(‘要导出的表格ID,以|分隔多个表格’,’输出到excel中的工作薄名称’,’导出的方式,0为不带格式,1为带格式’,’要导出的列数’)
var idTmr = “”;
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
function toExcel(tableId,sheetname,method,cols){
if(!confirm(“确认导出数据到EXCEL?”)){return false;}
var tables=tableId.split(“|”);
for(var n=0;ntables.length;n++){
if(!document.getElementById(tables[n])){
alert(“表格”+tables[n]+”不存在,请检查是否有数据输出”);
return false;
}
}
try{
var oXL = new ActiveXObject(“excel.Application”);
}catch(e1){
try{
var oXL = new ActiveXObject(“et.Application”);
}catch(e2){
alert(e2.description+”\n\n\n要使用EXCEL对象,您必须安装Excel电子表格软件\n或者,需要安装Kingsoft ET软件\n\n同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。”);
return;
}
}
try {
var m=1;
oXL.Visible = true;
oXL.ScreenUpdating=false;
//oXL.Calculation=-4135;
var oWB = oXL.Workbooks.Add;
var oSheet = oWB.ActiveSheet;
var xlsheet = oWB.Worksheets(1);
for(var i=oWB.Worksheets.count;i1;i–){ //删除多余工作表
oWB.Worksheets(i).Delete();
}
for(var n=0;ntables.length;n++){
var elTable = document.getElementById(tables[n]);
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText(elTable);
oRangeRef.execCommand(“Copy”);
oSheet.cells(m,1).select;
oSheet.Paste(); //此方式为直接粘贴,带格式
if (method == 0) {
oSheet.cells.ClearFormats;
//以下删除因表头分拆后产生的空行,一般表头不会超过5行,此处检查5行数据
for(var delrow=1;delrow5;delrow++){
var isBlank=true;
for(var col=1;col=elTable.rows[0].cells.length;col++){
if(oSheet.cells(m+1,col).value!=”” oSheet.cells(m+1,col).value!=undefined){
isBlank=false;
break;
}
做敏 }
if(isBlank){
oSheet.Rows(m+1).Delete;
}
}
}
m+=elTable.rows.length;
}
//oSheet.Cells.NumberFormatLocal = “@”;//格式化数字时使用
n=oSheet.Shapes.count;
for(var i=1;i=n;i++){
oSheet.Shapes.Item(1).Delete(); //因为每次删除都会使总数减少,所以删除n次第一个对象,也可以倒过来从大到姿卖小删除
}
oXL.Selection.CurrentRegion.Select; //选择当前区域
oXL.Selection.Interior.Pattern = 0; //设置底色为空
oXL.Selection.Borders.LineStyle = 1; //设置单元格边框为纯册枝实线
oXL.Selection.ColumnWidth = 5; //设置列宽
oXL.Selection.RowHeight = 16; //行高
oXL.Selection.Columns.AutoFit; //列宽自动适应
//xlsheet.Columns(“A:Z”).AutoFit; //列宽自动适应
xlsheet.Rows(“1:”+m).AutoFit; //自动行高
xlsheet.Name=sheetname;
oSheet = null;
oWB = null;
appExcel = null;
//oXL.Calculation=-4105;
oXL.ScreenUpdating=true;
idTmr = window.setInterval(“Cleanup();”,1); //释放Excel进程,回收内存空间,避免产生多个不会自己终止的Excel进程
}catch (e) {
idTmr = window.setInterval(“Cleanup();”,1);
alert(e.description);
}
}
js 操作excel问题
function removeElementByIdThenToExcel(tableId,eleId){var table = document.getElementById(tableId);var removeEle = document.getElementById(eleId);removeEle.parentNode.removeChild(removeEle); //delete selftoExcel(table); } var idTmr = “”; function copy(tabid){ var oControlRange = document.body.createControlRange(); oControlRange.add(tabid,0); oControlRange.select(); document.execCommand(“Copy”); } function toExcel(tabid){ copy(tabid); try{ var xls = new ActiveXObject( “Excel.Application” ); }catch(e){ alert( “Excel没培亏有安装或浏览器设置不正确.请困中友启用所有Active控件和插件汪槐”); return false; } xls.visible = true; var xlBook = xls.Workbooks.Add; var xlsheet = xlBook.Worksheets(1); xlBook.Worksheets(1).Activate; for(var i=0;i xlsheet.Columns(i+1).ColumnWidth=15; } xlsheet.Paste; xls=null; idTmr = window.setInterval(“Cleanup();”,1); } function Cleanup() { window.clearInterval(idTmr); CollectGarbage(); }
” width=”100″ height=”80″ 123422343234 123422343234 123422343234 123422343234 123422343234
JavaScript如何调用excel的规划求解
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 对象语法有这些部分:其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称耐穗派。
Automation 服务器至少提供一类对象。例如,字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
要创建 Automation 对象,将新的 ActiveXObject 赋给对象变量:
var ExcelSheet;
ExcelApp = new ActiveXObject(“Excel.Application”);
ExcelSheet = new ActiveXObject(“Excel.Sheet”);
本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表族薯)。一旦对象被创建,就可以用定义的对象变量在代码中引用它。在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。
// 使 Excel 通过 Application 对象可见。
ExcelSheet.Application.Visible = true;
// 将一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = 昌贺”This is column A, row 1″;
// 保存表格。
ExcelSheet.SaveAs(“C:\\TEST.XLS”);
// 用 Application 对象用 Quit 方法关闭 Excel。
ExcelSheet.Application.Quit();
只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象,可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 “\\myserver\public” 的网络,servername 是 “myserver”。另外,可以用 DNS 格式或 IP 地址指定 servername。
下面的代码返回在名为 “myserver” 的远程网络计算机上运行的 Excel 实例的版本号:
function GetAppVersion()
{
var XLApp = new ActiveXObject(“Excel.Application”, “MyServer”);
return(XLApp.Version);
}
如果指定的远程服务器不存在或找不到时将发生错误。
使用JavaScript中的ActiveXObject填充并设置Excel格式2006年12月19日 星期二 下午 05:131.创建一个新Excel表格
var XLObj = new ActiveXObject(“Excel.Application”);
var xlBook = XLObj.Workbooks.Add; //新增工作簿
var ExcelSheet = xlBook.Worksheets(1); //创建工作表
2.保存表格
ExcelSheet.SaveAs(“C:\\TEST.XLS”);
3.使 Excel 通过 Application 对象可见
ExcelSheet.Application.Visible = true;
4.打印
xlBook.PrintOut;
或者:
ExcelSheet.PrintOut;
5.关闭
xlBook.Close(savechanges=false);
或者:
ExcelSheet.Close(savechanges=false);
6.结束进程
ExcelSheet.Application.Quit();
或者:
XLObj.Quit();
XLObj=null;
7.页面设置
ExcelSheet.ActiveSheet.PageSetup.LeftMargin= 2/0.035; //页边距 左2厘米
ExcelSheet.ActiveSheet.PageSetup.RightMargin = 3/0.035; //页边距 右3厘米,
ExcelSheet.ActiveSheet.PageSetup.TopMargin = 4/0.035; //页边距 上4厘米,
ExcelSheet.ActiveSheet.PageSetup.BottomMargin = 5/0.035; //页边距 下5厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin = 1/0.035; //页边距 页眉1厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin = 2/0.035; //页边距 页脚2厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader = “页眉中部内容”;
ExcelSheet.ActiveSheet.PageSetup.LeftHeader = “页眉左部内容”;
ExcelSheet.ActiveSheet.PageSetup.RightHeader = “页眉右部内容”;
ExcelSheet.ActiveSheet.PageSetup.CenterFooter = “页脚中部内容”;
ExcelSheet.ActiveSheet.PageSetup.LeftFooter = “页脚左部内容”;
ExcelSheet.ActiveSheet.PageSetup.RightFooter = “页脚右部内容”;
8.对单元格操作,带*部分对于行,列,区域都有相应属性
ExcelSheet.ActiveSheet.Cells(row,col).Value = “内容”; //设置单元格内容
ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1; //设置单元格边框*()
ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1; //设置单元格底色*(1-黑色,
2-白色,3-红色,4-绿色,5-蓝色,6-黄色,7-粉红色,8-天蓝色,9-酱土色..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1; //设置单元格背景样式*(1-无,
2-细网格,3-粗网格,4-斑点,5-横线,6-竖线..可以多做尝试)
ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1; //设置字体颜色*(与上相同)
ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10; //设置为10号字*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = “黑体”; //设置为黑体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true; //设置为斜体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true; //设置为粗体*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents; //清除内容*
ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true; //设置为自动换行*
ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3; //水平对齐方式枚举* (1-常规,
2-靠左,3-居中,4-靠右,5-填充 6-两端对齐,7-跨列居中,8-分散对齐)
ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment = 2; //垂直对齐方式枚举*(1-靠上,
2-居中,3-靠下,4-两端对齐,5-分散对齐)
//行,列有相应操作:
ExcelSheet.ActiveSheet.Rows(row).
ExcelSheet.ActiveSheet.Columns(col).
ExcelSheet.ActiveSheet.Rows(startrow+”:”+endrow). //如Rows(“1:5”)即1到5行
ExcelSheet.ActiveSheet.Columns(startcol+”:”+endcol). //如Columns(“1:5”)即1到5列
//区域有相应操作:
XLObj.Range(startcell+”:”+endcell).Select;
//如Range(“A2:H8”)即A列第2格至H列第8格的整个区域
XLObj.Selection.
//合并单元格
XLObj.Range(startcell+”:”+endcell).MergeCells = true;
//如Range(“A2:H8”)即将A列第2格至H列第8格的整个区域合并为一个单元格
或者:
XLObj.Range(“A2”,XLObj.Cells(8, 8)).MergeCells = true;
9.设置行高与列宽
ExcelSheet.ActiveSheet.Columns(startcol+”:”+endcol).ColumnWidth = 22;
//设置从firstcol到stopcol列的宽度为22
ExcelSheet.ActiveSheet.Rows(startrow+”:”+endrow).RowHeight = 22;
//设置从firstrow到stoprow行的宽度为22
怎么用js将excel中的数据读取后显示到网页中的表格
以前读书的时候绝不会想到会用客户端脚本来实现这些功能,现在却一开始就要用上扮漏扮了,而且还觉得挺实用的。
参考《Windows脚本技术》,应该会有一点收获。
厅灶html xmlns=””
搜扒head
titleUntitled Page/title
/head
script language=”javascript” type=”text/javascript”
function importXLS(fileName)
{
objCon = new ActiveXObject(“ADODB.Connection”);
objCon.Provider = “Microsoft.Jet.OLEDB.4.0”;
objCon.ConnectionString = “Data Source=” + fileName + “;Extended Properties=Excel 8.0;”;
objCon.CursorLocation = 1;
objCon.Open;
var strQuery;
//Get the SheetName
var strSheetName = “Sheet1$”;
var rsTemp = new ActiveXObject(“ADODB.Recordset”);
rsTemp = objCon.OpenSchema(20);
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields(“Table_Name”).Value;
rsTemp = null
rsExcel = new ActiveXObject(“ADODB.Recordset”);
strQuery = “SELECT * FROM [” + strSheetName + “]”;
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
while(!rsExcel.EOF)
{
for(i = 0;irsExcel.Fields.Count;++i)
{
alert(rsExcel.Fields(i).value);
}
rsExcel.MoveNext;
}
// Close the connection and dispose the file
objCon.Close;
objCon =null;
rsExcel = null;
}
/script
/head
body
input type=”file” id=”f” /
input type=”button” id=”b” value=”import” onclick=”if(f.value==”)alert(‘请选择xls文件’);else importXLS(f.value)” /
/body
/html
trackback:
通过Javascript操作Excel
function AutomateExcel()
{
// Start Excel and get Application object.
var oXL = new ActiveXObject(“Excel.Application”);
oXL.Visible = true;
// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
// Add table headers going cell by cell.
oSheet.Cells(1, 1).Value = “First Name”;
oSheet.Cells(1, 2).Value = “Last Name”;
oSheet.Cells(1, 3).Value = “Full Name”;
oSheet.Cells(1, 4).Value = “Salary”;
// Format A1:D1 as bold, vertical alignment = center.
oSheet.Range(“A1”, “D1”).Font.Bold = true;
oSheet.Range(“A1”, “D1”).VerticalAlignment = -4108; //xlVAlignCenter
// Create an array to set multiple values at once.
// Fill A2:B6 with an array of values (from VBScript).
oSheet.Range(“A2”, “B6”).Value = CreateNamesArray();
// Fill C2:C6 with a relative formula (=A2 ” ” B2).
var oRng = oSheet.Range(“C2”, “C6”);
oRng.Formula = “=A2 ” ” B2″;
// Fill D2:D6 with a formula(=RAND()*100000) and apply format.
oRng = oSheet.Range(“D2”, “D6”);
oRng.Formula = “=RAND()*100000”;
oRng.NumberFormat = “$0.00”;
// AutoFit columns A:D.
oRng = oSheet.Range(“A1”, “D1”);
oRng.EntireColumn.AutoFit();
// Manipulate a variable number of columns for Quarterly Sales Data.
DispalyQuarterlySales(oSheet);
// Make sure Excel is visible and give the user control
// of Excel’s lifetime.
oXL.Visible = true;
oXL.UserControl = true;
}
HTML
HEAD
TITLE将页面中指定表格的数据导入到Excel中/TITLE
SCRIPT LANGUAGE=”javascript”
!–
function AutomateExcel()
{
var oXL = new ActiveXObject(“Excel.Application”); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.data;//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
// Add table headers going cell by cell.
for (i=0;ihang;i++){//在Excel中写行
for (j=0;jlie;j++){//在Excel中写列
//定义格式
oSheet.Cells(i+1,j+1).NumberFormatLocal = “@”;
//!!!!!!!上面这一句是将单元格的格式定义为文本
oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
//–
/SCRIPT
/HEAD
BODY
table border=”0″ width=”300″ id=”data” bgcolor=”black” cellspacing=”1″
tr bgcolor=”white”
td编号/td
td姓名/td
td年龄/td
td性别/td
/tr
tr bgcolor=”white”
td0001/td
td张三/td
td22/td
td女/td
/tr
tr bgcolor=”white”
td0002/td
td李四/td
td23/td
td男/td
/tr
/table
input type=”button” name=”out_excel” onclick=”AutomateExcel();” value=”导出到excel”
/BODY
/HTML
以前读书的时候绝不会想到会用客户端脚本来实现这些功能,现在却一开始就要用上了,而且还觉得挺实用的。
参考《Windows脚本技术》,应该会有一点收获。
html xmlns=””
head
titleUntitled Page/title
/head
script language=”javascript” type=”text/javascript”
function importXLS(fileName)
{
objCon = new ActiveXObject(“ADODB.Connection”);
objCon.Provider = “Microsoft.Jet.OLEDB.4.0”;
objCon.ConnectionString = “Data Source=” + fileName + “;Extended Properties=Excel 8.0;”;
objCon.CursorLocation = 1;
objCon.Open;
var strQuery;
//Get the SheetName
var strSheetName = “Sheet1$”;
var rsTemp = new ActiveXObject(“ADODB.Recordset”);
rsTemp = objCon.OpenSchema(20);
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields(“Table_Name”).Value;
rsTemp = null
rsExcel = new ActiveXObject(“ADODB.Recordset”);
strQuery = “SELECT * FROM [” + strSheetName + “]”;
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
while(!rsExcel.EOF)
{
for(i = 0;irsExcel.Fields.Count;++i)
{
alert(rsExcel.Fields(i).value);
}
rsExcel.MoveNext;
}
// Close the connection and dispose the file
objCon.Close;
objCon =null;
rsExcel = null;
}
/script
/head
body
input type=”file” id=”f” /
input type=”button” id=”b” value=”import” onclick=”if(f.value==”)alert(‘请选择xls文件’);else importXLS(f.value)” /
/body
/html
trackback:
通过Javascript操作Excel
function AutomateExcel()
{
// Start Excel and get Application object.
var oXL = new ActiveXObject(“Excel.Application”);
oXL.Visible = true;
// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
// Add table headers going cell by cell.
oSheet.Cells(1, 1).Value = “First Name”;
oSheet.Cells(1, 2).Value = “Last Name”;
oSheet.Cells(1, 3).Value = “Full Name”;
oSheet.Cells(1, 4).Value = “Salary”;
// Format A1:D1 as bold, vertical alignment = center.
oSheet.Range(“A1”, “D1”).Font.Bold = true;
oSheet.Range(“A1”, “D1”).VerticalAlignment = -4108; //xlVAlignCenter
// Create an array to set multiple values at once.
// Fill A2:B6 with an array of values (from VBScript).
oSheet.Range(“A2”, “B6”).Value = CreateNamesArray();
// Fill C2:C6 with a relative formula (=A2 ” ” B2).
var oRng = oSheet.Range(“C2”, “C6”);
oRng.Formula = “=A2 ” ” B2″;
// Fill D2:D6 with a formula(=RAND()*100000) and apply format.
oRng = oSheet.Range(“D2”, “D6”);
oRng.Formula = “=RAND()*100000”;
oRng.NumberFormat = “$0.00”;
// AutoFit columns A:D.
oRng = oSheet.Range(“A1”, “D1”);
oRng.EntireColumn.AutoFit();
// Manipulate a variable number of columns for Quarterly Sales Data.
DispalyQuarterlySales(oSheet);
// Make sure Excel is visible and give the user control
// of Excel’s lifetime.
oXL.Visible = true;
oXL.UserControl = true;
}
HTML
HEAD
TITLE将页面中指定表格的数据导入到Excel中/TITLE
SCRIPT LANGUAGE=”javascript”
!–
function AutomateExcel()
{
var oXL = new ActiveXObject(“Excel.Application”); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.data;//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
// Add table headers going cell by cell.
for (i=0;ihang;i++){//在Excel中写行
for (j=0;jlie;j++){//在Excel中写列
//定义格式
oSheet.Cells(i+1,j+1).NumberFormatLocal = “@”;
//!!!!!!!上面这一句是将单元格的格式定义为文本
oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
//–
/SCRIPT
/HEAD
BODY
table border=”0″ width=”300″ id=”data” bgcolor=”black” cellspacing=”1″
tr bgcolor=”white”
td编号/td
td姓名/td
td年龄/td
td性别/td
/tr
tr bgcolor=”white”
td0001/td
td张三/td
td22/td
td女/td
/tr
tr bgcolor=”white”
td0002/td
td李四/td
td23/td
td男/td
/tr
/table
input type=”button” name=”out_excel” onclick=”AutomateExcel();” value=”导出到excel”
/BODY
/HTML
用JavaScript怎么生成EXCEL
script
function printToExcel(html) {
try{
var ExApp = new ActiveXObject(“Excel.Application”)
var ExWBk = ExApp.workbooks.add()
var ExWSh = ExWBk.worksheets(1)
ExApp.DisplayAlerts = false
ExApp.visible = true
}catch(e){
alert(“您所设定js操作excel教程的安全级别太高js操作excel教程,或者您js操作excel教程的电脑没宴誉早有安装Microsoft Excel软件!”)
return false
}
window.clipboardData.setData(“Text”, html);
ExWBk.worksheets(1).Paste;
ExWBk.worksheets(1).Columns.AutoFit;
ExWBk.worksheets(1).Rows.AutoFit;
}
function exportToExcel(table)
{
if(confirm(“确认要导出吗?”)){
var oXL = new ActiveXObject(“Excel.Application”);
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
for (i=0;ihang;i++)
{
for (j=0;jlie;j++)
{
oSheet.Cells(i+1,j+1).Value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
}
if(confirm(“是否导出表格数据为 Excel?”)) {
printToExcel(dataArea.innerHTML);
}
/script
!– 以下为数据区 —
div id=”dataArea”
font color=redtest表/font
table border=”1″ cellpadding=”0″ style=”border-collapse: collapse; ” bordercolor=”#000000″
tbody
trtd1/tdtd1-1/tdtd1-2/td/tr
trtd2/tdtd晌雀2-1/tdtd2-2/td/tr
trtd3/tdtd3-1/tdtd3-2/td/tr
trtd4/tdtd4-1/tdtd4-2/虚好td/tr
/tbody
/table
/div
如何用js将excel表格导入成web页面格式代码
1. 要正确的将Web客户端的Excel文件导入到服务器的数据库中,需要将客户端的Excel文件上传到服务器上。可以使用FileUpload控件完成。
2. Excel文件上传到服务器指定的目录中,这里假设是该站点的upfiles目录中。
3. 使用SQL语句从upfiles目录中的上传Excel文件中读取数据显示或写入带枯数据库。
相关代码如下:
1. 前台文件:
%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”StudentInforInport.aspx.cs” Inherits=”StudentInforInport” %
!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”锋猛
html xmlns=””
head runat=”server”
link rel=”stylesheet” type=”text/css” href=”css/style.css”/
title从Excel表中导入学生数据/title
/head
body
form id=”form1″ runat=”server”
div
table style=”width: 96%; border-collapse: separate; text-align: center”
tr
td colspan=”3″
从Excel中导入/td
/tr
tr
td colspan=”3″ style=”text-align: left; height: 9px;”
/td
/tr
tr
td align=”center” style=”width: 20%;”
请选择Excel文件路径/td
td align=”center” style=”width: 483px; height: 18px; text-align: left”
asp:FileUpload ID=”FileUpload1″ runat=”server” Width=”555px” //蠢基洞td
td align=”center” style=”width: 10%”
asp:Button ID=”Btn_Inport” runat=”server” Text=”导 入” OnClick=”Btn_Inport_Click” //td
/tr
tr
td align=”center”
请选择表名/td
td align=”center” style=”width: 483px; height: 18px; text-align: left”
asp:DropDownList ID=”DDList_Sheet” runat=”server”/asp:DropDownList/td
td align=”center”
/td
/tr
tr
td colspan=”3″
asp:GridView ID=”GV_Excel” runat=”server” Height=”133px” Width=”100%”
/asp:GridView
/td
/tr
tr
td style=”height: 18px”
/td
td style=”width: 483px; height: 18px;”
/td
td style=”width: 243px; height: 18px;”
/td
/tr
/table
/div
/form
/body
/html
2. 后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Data.SqlClient;
public partial class StudentInforInport : System.Web.UI.Page
{
string strConn = System.Configuration.ConfigurationManager.AppSettings[“strconn”].ToString().Trim(); //链接SQL数据库
protected void Page_Load(object sender, EventArgs e)
{
}
/// summary
/// 查询EXCEL电子表格添加到DATASET
/// /summary
/// param name=”filenameurl”服务器路径/param
/// param name=”table”表名/param
/// param name=”SheetName”Sheet表名/param
/// returns读取的DataSet /returns
public DataSet ExecleDs(string filenameurl, string table, string SheetName)
{
string strConn = “Provider=Microsoft.Jet.OleDb.4.0;” + “data source=” + filenameurl + “;Extended Properties=’Excel 8.0′”;
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter odda = new OleDbDataAdapter(“select * from [” + SheetName + “]”, conn);
odda.Fill(ds, table);
return ds;
}
protected void Btn_Inport_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false) //HasFile用来检查FileUpload是否有指定文件
{
Response.Write(“scriptalert(‘请您选择Excel文件’)/script “);
return; //当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != “.xls”)
{
Response.Write(“scriptalert(‘只可以选择Excel文件’)/script”);
return; //当选择的不是Excel文件时,返回
}
string filename = DateTime.Now.ToString(“yyyyMMddHHmmss”) + FileUpload1.FileName; // 获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath((“~\\upfiles\\”) + filename); //Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
OperExcel Excel = new OperExcel();
ArrayList AL_ExcelSheet = new ArrayList();
AL_ExcelSheet = Excel.ExcelSheetName(savePath);
DDList_Sheet.Items.Clear();
for (int i = 0; i AL_ExcelSheet.Count; i++)
{
DDList_Sheet.Items.Add( AL_ExcelSheet[i].ToString() );
}
SqlConnection cn = new SqlConnection(strConn);
cn.Open();
DataSet ds = ExecleDs(savePath, filename, DDList_Sheet.Items[0].ToString()); //调用自定义方法得到数据
DataTable dt = ds.Tables[0];
if (dt.Rows.Count == 0)
{
Response.Write(“scriptalert(‘Excel表为空表,无数据!’)/script”); //当Excel表为空时,对用户进行提示
}
else
{
// 数据
GV_Excel.DataSource = dt;
GV_Excel.DataBind();
Response.Write(“scriptalert(‘Excle表导入成功!’);location=’default.aspx’/script”);
}
cn.Close();
}
}
注意:当导入的Excel文件中的内容很大时,将发生莫名的错误。因此导入的文件不能太大,一般少于5MB.
js操作excel教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js excel表格、js操作excel教程的信息别忘了在本站进行查找喔。