在网页中与EXCEL的交互(导入)
来源:互联网 发布:c语言中括号的用法 编辑:程序博客网 时间:2024/06/05 01:12
function WriteScoreInDG(strNumber, strScore)
{
var ndgRC = document.all.DataGrid1.rows.length;
var i, nNumber=parseInt(strNumber);
var strdgNumber;
if(isNaN(nNumber))
return false;
for(i=1; i<=ndgRC; i++)
{
strdgNumber = document.all.DataGrid1.rows(i).cells(0).innerText;
if (parseInt(strdgNumber) == nNumber)
{
document.all.DataGrid1.rows(i).cells(3).childNodes[0].innerText=strScore;
break;
}
}
if (i>ndgRC)
return false;
else
return true;
}
function loadExcel(strSubject)
{
document.all.filename.value = "";
showModalDialog("LoadFile.aspx",window,"dialogWidth=590px;dialogHeight=290px;scroll=no");
var strFileName = document.all.filename.value;
var nSheet = parseInt(document.all.sheet.value);
if (strFileName != "")
{
try
{
var xlsApp = new ActiveXObject("Excel.Application");
xlsApp.visible = false;
var xlsBook = xlsApp.WorkBooks.Open(strFileName);
var xlsSheet = xlsBook.WorkSheets(nSheet);
var strScore = "", strNumber = "";
var nScoreCol = 1, nNumberCol=1, nRow, nSpaceRow, i, nSuccessCount;
//当列没内容,为undefined时不知该如何判断.
//strScoreName != undefined不行,strScoreName != "undefined"也不行,strScoreName != null也不行.
//只好向右查20个.
strScore = xlsSheet.Cells(1, nScoreCol);
while (strScore != strSubject)
{
nScoreCol++;
strScore = xlsSheet.Cells(1, nScoreCol);
if (nScoreCol >20)
break;
}
strNumber = xlsSheet.Cells(1, nNumberCol);
while (strNumber != "学号")
{
nNumberCol++;
strNumber = xlsSheet.Cells(1, nNumberCol);
if (nNumberCol >20)
break;
}
if (strScore != strSubject)
alert("找不到成绩列,你的EXCEL文件中应有一列名为“"+strSubject+"”的列");
else if (strNumber != "学号")
alert("找不到学号列,你的EXCEL文件中应有一列名为“学号”的列");
else
{
nRow = 2;
nSpaceRow = 0;
nSuccessCount = 0;
//由于无法判断何时结束,所以用当连续5行找不到学号时结束.
while(nSpaceRow<5)
{
strScore = xlsSheet.Cells(nRow, nScoreCol);
strNumber = xlsSheet.Cells(nRow, nNumberCol);
if(!WriteScoreInDG(strNumber, strScore))
nSpaceRow++;
else
nSuccessCount++;
nRow++;
}
alert("导入成绩完成,共导入"+nSuccessCount+"个学生成绩。");
}
xlsApp.Quit();
xlsSheet = null;
xlsBook = null;
xlsApp = null;
}
finally
{
xlsApp.Quit();
xlsSheet = null;
xlsBook = null;
xlsApp = null;
}
}
}
通过如下代码调用如:loadExcel('电脑')。但发现一个很大的问题,这是调用ACTIVEX控件的,调用后没能真正退出EXCEL程序,要在进程中关闭。只能以后再慢慢解决了。
- 在网页中与EXCEL的交互(导入)
- 在网页中与EXCEL的交互(导出)
- 在ASP.NET系统中实现与EXCEL的交互
- 在C#中导出与导入Excel的方法
- c#数据与Excel交互(导入与导出)
- C#与java交互导入EXCEL
- 在网页中交互unity3d
- javascript和swf在网页中交互的一些总结
- 在asp.net中实现dataset与excel的相互导入导出
- IOS开发过程中与嵌入的网页数据交互
- unity3D与网页的交互
- unity3D与网页的交互
- QT 与 网页的交互
- unity3D与网页的交互
- unity3D与网页的交互
- 在网页中生成具有交互功能的统计图(用到Serlvet/JSP)
- asp.net 将本地excel表导入网页 并在gridview中显示
- 在网页中导入文件的几种方式
- linux嵌入式编程高手历程系列5-初识linux网桥
- 在ASP.NET中打印表格
- asp 跟什么数据库搭配好啊?
- log4j相关属性简介
- 一个比日本还要傻x的国家诞生了 (是中国人的一定要看!!!愤怒!!!)
- 在网页中与EXCEL的交互(导入)
- 当XML用selectSingleNode查找节点时,出现“未指定错误”时的处理
- Delphi面向对象编程的20条规则
- linux嵌入式编程高手历程系列6-定制uboot和文件系统
- 在网页中与EXCEL的交互(导出)
- 遇到这种情况,你会怎么做?
- 在XML文件中的非根节点下插入新节点时,出现“未指定错误”的处理
- 一学生回日本记者问
- Delphi的Hint入门指导