可以读取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文件
<script> <br>function readThis(){ <br>var tempStr = ""; <br>var filePath= document.all.upfile.value; <br>var oXL = new ActiveXObject("Excel.application"); <br>var oWB = oXL.Workbooks.open(filePath); <br>oWB.worksheets(1).select(); <br>var oSheet = oWB.ActiveSheet; <br>try{ <br>for(var i=2;i<46;i++){ <br/>if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" ) <br/>break; <br/>var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value; <br/>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"); <br/>} <br/>} <br/>catch(e){ <br/>//alert(e); <br/>document.all.txtArea.value = tempStr; <br/>} <br/>document.all.txtArea.value = tempStr; oXL.Quit(); <br/>CollectGarbage(); <br/>} <br/></script>
三、
我在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 <=oWB.worksheets.count;x++)
{
oWB.worksheets(x).select();
var oSheet =oWB.ActiveSheet;
\\按指定开始行和开始列读取excel文件的数据
for(var i=parseInt(r_c_num[6]);i <=parseInt(r_c_num[7]);i++)
{
for(var j=parseInt(r_c_num[8]);j <=parseInt(r_c_num[9]);j++)
{
if(typeof(oSheet.Cells(i,j).value)== "undefined ")
{
ExcelNum[j-parseInt(r_c_num[8])+6]= " ";
}
else
{
switch_letter(j);
ExcelNum[j-parseInt(r_c_num[8])+6]=oSheet.Cells(i,j).value;
}
}
//将读取的一行数据传到后台插入到数据库
WebServiceExcel.insert_From_Excel(ExcelNum);
}
}
}
}
catch(err)
{
alert( "出错了, "+err.message);
}
}
这只是前台的关键代码。
现在的问题是,如果excel文件数据太多的话,导入过程要等好长时间,性能太差了,不知道该怎么改进???如果导几千行数据就不行了,时间让我无法忍受。请高手赐教,很着急用,谢谢了!!!
一个用JavaScript结合Excel.Application读取本地excel文件并以表格呈现的简单例子
用JS讀取excel的例子
<%
''
'*********************************************************
' 目的:讀取excel資料後插入到數據庫中同時紀錄成功和失敗的數目
' 傳入:
' 返回:
'*********************************************************
Function GetExcel()
Dim conn
Dim StrConn
Dim rs
Dim Sql
file=""
Set conn=Server.CreateObject("ADODB.Connection")
StrConn="Driver={Microsoft Excel Driver (*.xls)};DBQ="& Server.MapPath("EXCEL_DATA.xls")
''StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dd.xls;Extended Properties=Excel 8.0"
conn.Open StrConn
Set rs = Server.CreateObject("ADODB.Recordset")
Sql="select * from [Sheet1$]"
rs.Open Sql,conn,2,2
''讀取excel中的字段名稱,並檢察字段順序是否正確
for i=0 to rs.Fields.Count-1
FILE_HEAD=FILE_HEAD&rs(i).Name
next
''response.write FILE_HEAD
IF trim(FILE_HEAD)<>"版本使用單位類綱目節類說明綱說明目說明檔名保存年限共同分類號" THEN
RESPONSE.WRITE ""
exit Function
END IF
''讀取excel中的資料
do while Not rs.EOF
''將讀取的資料INSERT到oracle數據庫
for i=0 to 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="Select 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& "
"
IF mobjDB.ExecSQL(INS_SQL) THEN
InCount=InCount+1
ELSE
NoCount=NoCount+1
file=file&TODAY&" "&NOWTIME&" "&EDITION&" "&FILE_CODE & VBCRLF
END IF
exit for
next
rs.MoveNext
Loop
rs.close
set rs=nothing
Conn.close
set StrConn=nothing
if file<>"" then
CALL CreateFolder()
call SetFile(file)
strpath=server.mappath("EXCEL_DATA.xls")
call DeleteFolder(strpath)
file=""
end if
End Function
'*********************************************************
' 目的: 新建一個指定的文件,如果存在就不新建,並向文件追加紀錄
' 傳入: file:要追加的數據
' 返回:
'*********************************************************
Function SetFile(file)
file_path="C:\LOG\OD60err.log"
set fstemp=server.CreateObject("Scripting.FileSystemObject")
IF (fstemp.FileExists(file_path)) THEN
ELSE
set filetemp=fstemp.CreateTextFile(file_path,true)
filetemp.writeLine "紀錄匯入失敗資料"
filetemp.close
END IF
''追加失敗資料信息OpenTextFile
set filetemp=fstemp.OpenTextFile(file_path,8,true)
filetemp.writeLine file
filetemp.close
set filetemp=Nothing
set fstemp=Nothing
End Function
'*********************************************************
' 目的: 新建一個指定的文件夾,如果存在就不新建
' 傳入:
' 返回:
'*********************************************************
Function CreateFolder()
Dim fso, f
folder="c:\LOG"
Set fso = CreateObject("Scripting.FileSystemObject")
IF fso.FolderExists(folder) THEN
ELSE
Set f = fso.CreateFolder(folder)
CreateFolderDemo = f.Path
END IF
End Function
'*********************************************************
' 目的:刪除上傳的文件,
' 傳入:傳入上傳文件的虛擬路徑
' 返回:
'*********************************************************
Function DeleteFolder(filepath)
Dim fso, f
folder="EXCEL_DATA.xls"
Set fso = CreateObject("Scripting.FileSystemObject")
''response.write fso.FileExists(filepath)
IF fso.FileExists(filepath) THEN
fso.DeleteFile filepath
END IF
End Function
%>
复制代码 代码如下:
<script> <br>function readThis(){ <br>var tempStr = ""; <br>var filePath= document.all.upfile.value; <br>var oXL = new ActiveXObject("Excel.application"); <br>var oWB = oXL.Workbooks.open(filePath); <br>oWB.worksheets(1).select(); <br>var oSheet = oWB.ActiveSheet; <br>try{ <br>for(var i=2;i<46;i++){ <br/>if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" ) <br/>break; <br/>var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value; <br/>tempStr+=(" "+oSheet.Cells(i,2).value+ <br/>" "+oSheet.Cells(i,3).value+ <br/>" "+oSheet.Cells(i,4).value+ <br/>" "+oSheet.Cells(i,5).value+ <br/>" "+oSheet.Cells(i,6).value+"\n"); <br/>} <br/>}catch(e){ <br/>//alert(e); <br/>document.all.txtArea.value = tempStr; <br/>} <br/>document.all.txtArea.value = tempStr; <br/>oXL.Quit(); <br/>CollectGarbage(); <br/>} <br/></script>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Si lors de l'ouverture d'un fichier qui doit être imprimé, nous constatons que la ligne du cadre du tableau a disparu pour une raison quelconque dans l'aperçu avant impression. Lorsque nous rencontrons une telle situation, nous devons la traiter à temps si cela apparaît également dans votre impression. file Si vous avez des questions comme celle-ci, alors rejoignez l'éditeur pour apprendre le cours suivant : Que dois-je faire si la ligne du cadre disparaît lors de l'impression d'un tableau dans Excel ? 1. Ouvrez un fichier à imprimer, comme indiqué dans la figure ci-dessous. 2. Sélectionnez toutes les zones de contenu requises, comme indiqué dans la figure ci-dessous. 3. Cliquez avec le bouton droit de la souris et sélectionnez l'option "Formater les cellules", comme indiqué dans la figure ci-dessous. 4. Cliquez sur l'option « Bordure » en haut de la fenêtre, comme indiqué dans la figure ci-dessous. 5. Sélectionnez le motif de ligne continue fine dans le style de ligne de gauche, comme indiqué dans la figure ci-dessous. 6. Sélectionnez « Bordure extérieure »

Excel est souvent utilisé pour traiter les données dans le travail de bureau quotidien et il est souvent nécessaire d'utiliser la fonction « filtre ». Lorsque nous choisissons d'effectuer un « filtrage » dans Excel, nous ne pouvons filtrer que jusqu'à deux conditions pour la même colonne. Alors, savez-vous comment filtrer plus de 3 mots-clés en même temps dans Excel ? Ensuite, laissez-moi vous le démontrer. La première méthode consiste à ajouter progressivement les conditions au filtre. Si vous souhaitez filtrer trois informations éligibles en même temps, vous devez d'abord en filtrer une étape par étape. Au début, vous pouvez d'abord filtrer les employés nommés « Wang » en fonction des conditions. Cliquez ensuite sur [OK], puis cochez [Ajouter la sélection actuelle au filtre] dans les résultats du filtre. Les étapes sont les suivantes. De même, effectuez à nouveau le filtrage séparément

Dans notre travail et nos études quotidiens, nous copions les fichiers Excel des autres, les ouvrons pour ajouter du contenu ou les rééditer, puis les enregistrons Parfois, une boîte de dialogue de vérification de compatibilité apparaît, ce qui est très gênant, je ne connais pas Excel. logiciel, peut-il être modifié en mode normal ? Ci-dessous, l'éditeur vous présentera les étapes détaillées pour résoudre ce problème, apprenons ensemble. Enfin, n’oubliez pas de le sauvegarder. 1. Ouvrez une feuille de calcul et affichez un mode de compatibilité supplémentaire dans le nom de la feuille de calcul, comme indiqué sur la figure. 2. Dans cette feuille de calcul, après avoir modifié le contenu et l'avoir enregistré, la boîte de dialogue du vérificateur de compatibilité apparaît toujours. Il est très gênant de voir cette page, comme le montre la figure. 3. Cliquez sur le bouton Office, cliquez sur Enregistrer sous, puis

eNous utilisons souvent Excel pour créer des tableaux de données, etc. Parfois, lors de la saisie des valeurs de paramètres, nous devons mettre en exposant ou en indice un certain nombre. Par exemple, des formules mathématiques sont souvent utilisées. Alors, comment tapez-vous l'indice dans Excel ? jetez un œil aux étapes détaillées : 1. Méthode en exposant : 1. Tout d'abord, saisissez a3 (3 est en exposant) dans Excel. 2. Sélectionnez le chiffre « 3 », faites un clic droit et sélectionnez « Formater les cellules ». 3. Cliquez sur « Exposant » puis sur « OK ». 4. Regardez, l'effet est comme ça. 2. Méthode d'indice : 1. Semblable à la méthode de configuration de l'exposant, entrez « ln310 » (3 est l'indice) dans la cellule, sélectionnez le chiffre « 3 », cliquez avec le bouton droit et sélectionnez « Formater les cellules ». 2. Cochez « Indice » et cliquez sur « OK »

Lors du traitement des données, nous rencontrons parfois des données contenant divers symboles tels que des multiples, des températures, etc. Savez-vous comment définir des exposants dans Excel ? Lorsque nous utilisons Excel pour traiter des données, si nous ne définissons pas d'exposants, il sera plus difficile de saisir une grande partie de nos données. Aujourd'hui, l'éditeur vous proposera la méthode de configuration spécifique de l'exposant Excel. 1. Tout d'abord, ouvrons le document Microsoft Office Excel sur le bureau et sélectionnons le texte qui doit être modifié en exposant, comme indiqué sur la figure. 2. Ensuite, faites un clic droit et sélectionnez l'option "Formater les cellules" dans le menu qui apparaît après avoir cliqué, comme indiqué sur la figure. 3. Ensuite, dans la boîte de dialogue « Formater les cellules » qui apparaît automatiquement

La plupart des utilisateurs utilisent Excel pour traiter les données des tableaux. En fait, Excel dispose également d'un programme VBA, à l'exception des experts, peu d'utilisateurs ont utilisé cette fonction. La fonction iif est souvent utilisée lors de l'écriture en VBA. les fonctions des fonctions sont similaires. Laissez-moi vous présenter l'utilisation de la fonction iif. Il existe des fonctions iif dans les instructions SQL et du code VBA dans Excel. La fonction iif est similaire à la fonction IF dans la feuille de calcul Excel. Elle effectue un jugement de valeur vrai et faux et renvoie des résultats différents en fonction des valeurs vraies et fausses calculées logiquement. L'utilisation de la fonction SI est (condition, oui, non). Instruction IF et fonction IIF dans VBA La première instruction IF est une instruction de contrôle qui peut exécuter différentes instructions selon les conditions.

Dans l'étude des logiciels, nous sommes habitués à utiliser Excel, non seulement parce qu'il est pratique, mais aussi parce qu'il peut répondre à une variété de formats nécessaires au travail réel, et Excel est très flexible à utiliser, et il existe un mode qui est pratique pour lire. Aujourd'hui, j'ai apporté Pour tout le monde : où définir le mode de lecture Excel. 1. Allumez l'ordinateur, puis ouvrez l'application Excel et recherchez les données cibles. 2. Il existe deux manières de définir le mode de lecture dans Excel. Le premier type : Dans Excel, il existe un grand nombre de méthodes de traitement pratiques distribuées dans la mise en page Excel. Dans le coin inférieur droit d'Excel, il y a un raccourci pour définir le mode de lecture. Recherchez le motif de la croix et cliquez dessus pour accéder au mode de lecture. Il y a une petite marque tridimensionnelle sur le côté droit de la croix. .

1. Ouvrez le PPT et tournez la page jusqu'à la page où vous devez insérer l'icône Excel. Cliquez sur l'onglet Insérer. 2. Cliquez sur [Objet]. 3. La boîte de dialogue suivante apparaîtra. 4. Cliquez sur [Créer à partir d'un fichier], puis cliquez sur [Parcourir]. 5. Sélectionnez le tableau Excel à insérer. 6. Cliquez sur OK et la page suivante apparaîtra. 7. Cochez [Afficher sous forme d'icône]. 8. Cliquez sur OK.
