ホームページ >ウェブフロントエンド >jsチュートリアル >EXCELファイルを読み込めるjsコード_javascriptスキル
js读取 EXCEL 文件 的实现代码,比较全了大家可以自行测试了。
首页给个有中文说明的例子,下面的例子很多大家可以多测试。
<script language="javascript" type="text/javascript"><!-- function readExcel() { var excelApp; var excelWorkBook; var excelSheet; try{ excelApp = new ActiveXObject("Excel.Application"); excelWorkBook = excelApp.Workbooks.open("C:\\XXX.xls"); excelSheet = oWB.ActiveSheet; //WorkSheets("sheet1") excelSheet.Cells(6,2).value;//cell的值 excelSheet.usedrange.rows.count;//使用的行数 excelWorkBook.Worksheets.count;//得到sheet的个数 excelSheet=null; excelWorkBook.close(); excelApp.Application.Quit(); excelApp=null; }catch(e){ if(excelSheet !=null || excelSheet!=undefined){ excelSheet =nul; } if(excelWorkBook != null || excelWorkBook!=undefined){ excelWorkBook.close(); } if(excelApp != null || excelApp!=undefined){ excelApp.Application.Quit(); excelApp=null; } } // --></script>
如果是在网页上打开EXCEL 文件,那么在关闭的时候,进程里还有EXCEL.EXE,所以必须关闭后,刷新本页面!
<script> function ReadExcel() { var tempStr = ""; var filePath= document.all.upfile.value; var oXL = new ActiveXObject("Excel.application"); var oWB = oXL.Workbooks.open(filePath); oWB.worksheets(1).select(); var oSheet = oWB.ActiveSheet; try{ for(var i=2;i<46;i++) { if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" ) break; var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value; tempStr+=(" "+oSheet.Cells(i,2).value+ " "+oSheet.Cells(i,3).value+ " "+oSheet.Cells(i,4).value+ " "+oSheet.Cells(i,5).value+ " "+oSheet.Cells(i,6).value+"\n"); } }catch(e) { document.all.txtArea.value = tempStr; } document.all.txtArea.value = tempStr; oXL.Quit(); CollectGarbage(); } </script> <html> <input type="file" id="upfile" /><input type="button" onclick="ReadExcel();" value="read"> <br> <textarea id="txtArea" cols=50 rows=10></textarea> </html>
二、
js读取excel文件
3f1c4e4b6b16bbbd69b2ee476dc4f83a
function readThis(){
var tempStr = "";
var filePath= document.all.upfile.value;
var oXL = new ActiveXObject("Excel.application");
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(1).select();
var oSheet = oWB.ActiveSheet;
try{
for(var i=2;i8a850a13a7d4f6304fd432c6bbfe3440
100db36a723c770d327fc0aef2ce13b1
385593bf7209582d73c2d3d650334bb8
a7e1e84ae9ae90c7575fa0f1aa364ee80c6dc11e160d3b678d68754cc175188a
17753354e4c2f2d0ae75f3fe89c62dc240587128eee8df8f03d0b607fe983014
73a6ac4ed44ffec12cee46588e518a5e
三、
我在vs2005平台上要实现这么一个功能,点击一个按钮一次将大量的excel文件数据导入到sqlserver2005中
我用的是ajax技术,在前台用javascript操做excel文件,循环读取所有的excel文件,每读取一行就放进一个数组里通过web服务传到后台用c#语言将一行数据插入到数据库。思路大概就是这样。
现在功能已经实现了,具体代码如下
用javascript定义一个函数,循环读取excel文件数据
function readExcel()
{
try
{
var ExcelNum=new Array();
//重复导入之前,删除上次导入的同期数据
WebServiceExcel.deleteOldNumber();
var oXL = new ActiveXObject( "Excel.Application ");
\\r_c_num[5]的值为excel文件的名字
var path=document.all.excelpath.value+ "\\ "+r_c_num[5]
var oWB = oXL.Workbooks.open(path);
\\如果excel文件有多个sheet的话从第一个sheet循环读取
for(var x=1;x 21912cbd467a7c4460603aead679be18
ef1cac8df639bc9110cb13b8b5ab3dd7
08eb756f81b28a01d33212cce3fbe742 ;/TITLE>
662ac72aed5b9336e652bfbc791d1873
63b8a253481a8931936a12769bf1224da4b561c25d9afb9ac8dc4d70affff419" : "
document.write(value) );
document.write(i == 1 ? "0d36329ec37a2cc24d42c7229b69747a01c3ce868d2b3d9bce8da5c1b7e41e5b" : "bf9e2d3ae9b353e51291a2937fe5d613");
}
document.write("f16b1740fad44fb09bfe928bcc527e08");
oSheet = null;
}
//-->
< ;/SCRIPT>
34934661d7147ca926b095899343bad0
6eac519e8537e4205ddd37e30a7b548a
JSを使用したExcelの読み込み例
0b9d6ebeb81d5e5ea8912db724d77806アラート('EXCEL ファイルのフィールドの順序が間違っているか、フィールドの数が間違っています!!')db271416853c42fd247a57c1a2c29eb6"
関数を終了
END IF
''Excel でデータを読み取ります
実行しないrs.EOF
'' は、取得したデータを Oracle データベースに INSERT します。
i=0 から rs.Fields.Count-1 まで
EDITION=rs(0)
FILE_CODE=rs(2) ) rs(3) rs(4) rs( 5)
FILE_NAME=rs(9)
KIND1_DESC=rs(6)
KIND2_DESC=rs(7)
KIND3_DESC=rs(8)
KIND4_DESC=rs(9)
SAVE_YEAR=rs(10)
FILE_UNIT=rs(1)
COM_FILE_CODE=rs(11)
''========== ============ =========================
CHECED_SQL="nvl(FILE_CASE,'' を選択) ) FILE_CASE FROM ODM67 where EDITION='"&TRIM(EDITION )&"' and FILE_CODE='"&TRIM(FILE_CODE)&"' "
If mobjDB.OpenSQL(CHECED_SQL) then
If mobjDB.IsEmpty then
FILE_CASE="0001"
CASE_DESC=" 一般的なケース"
INS_SQL=""
INS_SQL=INS_SQL & " INSERT INTO ODM67(" & VBCRLF
INS_SQL=INS_SQL & " EDITION,FILE_CODE,FILE_CASE ," & VBCRLF
INS_SQL=INS_SQL & " CASE_DESC,CRT_USER,CRT_DATE," & VBCRLF
INS_SQL=INS_SQL & " CRT_TIME,MDF_USER,MDF_DATE,MDF_TIME)" & VBCRLF
INS_SQL=INS_SQL & " VALUES( " & VBCRLF
INS_SQL=INS_SQL & " ' "&TRIM(EDITION)&"','"&TRIM(FILE_CODE)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(FILE_CASE)&" ','"&TRIM(CASE_DESC)&"', " & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(SESSION("USER_ID"))&"','"&TRIM(TODAY)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM (NOWTIME)&"','"&TRIM(SESSION("USER_ID"))&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(TODAY )&"','"&TRIM(NOWTIME)& "')"
CALL mobjDB.ExecSQL(INS_SQL)
End If
End If
''========= ============= =========================
INS_SQL=""
INS_SQL= INS_SQL & " INSERT INTO ODM61( " & VBCRLF
INS_SQL=INS_SQL & " EDITION,FILE_CODE,FILE_NAME,KIND1_DESC," & VBCRLF
INS_SQL=INS_SQL & " KIND2_DESC,KIND3_DESC,KIND4_DESC,SAVE_YEAR," & VBCRLF
INS_SQL=INS_SQL & " FILE_UNIT,COM_FILE_CODE,CRT_USER, CRT_DATE ," & VBCRLF
INS_SQL=INS_SQL & " CRT_TIME,MDF_USER,MDF_DATE,MDF_TIME)" & VBCRLF
INS_SQL=INS_SQL & " VALUES(" & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(EDITION) &"','"&TRIM(FILE_CODE)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(FILE_NAME)&"','" &TRIM(KIND1_DESC)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(KIND2_DESC)&"','"&TRIM(KIND3_DESC)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(KIND4_DESC)&"','"&TRIM (SAVE_YEAR)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(FILE_UNIT)&"','"&TRIM(COM_FILE_CODE)&"' ," & VBCRLF
INS_SQL=INS_SQL & " ' "&TRIM(SESSION("USER_ID"))&"','"&TRIM(TODAY)&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(NOWTIME)&"','"&TRIM(SESSION("USER_ID"))&"'," & VBCRLF
INS_SQL=INS_SQL & " '"&TRIM(TODAY)&"' ,'"&TRIM(NOWTIME)&"')"
''RESPONSE.WRITE INS_SQL& "82c2f54f4cf245029ffb326befd49b3f"
IF mobjDB.ExecSQL(INS_SQL) THEN
InCount=InCount 1
ELSE
NoCount=NoCount 1
file=file&TODAY&" "&NOWTIME&" "&EDITION&" "&FILE_CODE & VBCRLF
END IF
次へ終了
rs.MoveNext
ループ
rs.close
set rs=nothing
Conn.close
set StrConn=nothing
if file2e58c01474dd076135d54a815861047f ;
207aba4856d62bc13b9723fe93a91967
7b36d251b4b40047ec760e9194a8ba4e
73a6ac4ed44ffec12cee46588e518a5e