導航:首頁 > 文件類型 > js訪問excel模板文件

js訪問excel模板文件

發布時間:2024-05-20 08:21:35

⑴ 前台js可以一次性批量下載多個Excel表格嗎xlsx.full. min

可以。
Js導出Excel的一個工具類,支持一個Excel多個標簽頁。自動生成文件,只需要在頁面構造出Table,然後傳遞相關參數即可。

⑵ js怎麼批量讀取多個excel數據

可以使用吵念Node.js的Excel模塊,如:xlsx、exceljs等,來讀取多個excel數據。

示例代碼

const XLSX = require('xlsx');

// 讀取excel文件

const workbook = XLSX.readFile('data.xlsx');

// 獲取 Excel 中所有表名

const sheetNames = workbook.SheetNames;

// 根據表名獲取跡卜對應某張表

const worksheet = workbook.Sheets[sheetNames[0]];姿碰穗

// 讀取數據

const data = XLSX.utils.sheet_to_json(worksheet);

console.log(data);

⑶ js怎麼驗證上傳的文件是excel

一般在js獲取文件上傳路徑,然後得到文件後綴,然後根據後綴進行判斷。

⑷ 我想用javascript操作excel文件,ActiveXObject("Excel.Application")

這個是vbscript的,方法在javascript里都是通用的,不過語法略有不同希望對你有幫助
1、 建立Excel對象
set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false 不顯示警告
objExcelApp.Application.Visible = false 不顯示界面
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3、 讀取已有Excel文件
strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4、 另存Excel文件
objExcelBook.SaveAs strAddr & "\Temp\Table.xls"
5、 保存Excel文件
objExcelBook.Save (筆者測試時保存成功,頁面報錯。)
6、 退出Excel操作
objExcelApp.Quit 一定要退出
set objExcelApp = Nothing
三、 ASP操作Excel生成數據表
1、 在一個范圍內插入數據
objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
2、 在一個單元格內插入數據
objExcelSheet.Cells(3,1).Value="Internet Explorer"
3、 改變單元格文字顏色
objExcelSheet.Cells(3,1).Font.Color=vbred
4、 單元格四周畫線條
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
區域中間畫線條
objExcelSheet.Range(「A1:G7」).Borders(7).LineStyle =1
objExcelSheet.Range(「A1:G7」).Borders(8).LineStyle =1

8、 單元格設定背景色
objExcelSheet.Cells(3.1).Interior.colorindex=17
9、 合並單元格
objExcelSheet.Range(「A1:G7」).Merge
10、 設置左右對齊方式
2 left 3 middle 4 right
objExcelSheet.Range("A1").HorizontalAlignment = 2
11、 設置上下對齊方式
2 為居中
objExcelSheet.Range("A1")..VerticalAlignment = 2
四、 ASP操作Excel生成Chart圖
1、 創建Chart圖
objExcelApp.Charts.Add
2、 設定Chart圖種類
objExcelApp.ActiveChart.ChartType = 97
註:二維折線圖,4;二維餅圖,5;二維柱形圖,51
3、 設定Chart圖標題
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart"
4、 通過表格數據設定圖形
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1
5、 直接設定圖形數據(推薦)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333"""
objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}"
6、 綁定Chart圖
objExcelApp.ActiveChart.Location 1
7、 顯示數據表
objExcelApp.ActiveChart.HasDataTable = True
8、 顯示圖例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
五、 伺服器端Excel文件瀏覽、下載、刪除方案
瀏覽的解決方法很多,「Location.href=」,「Navigate」,「Response.Redirect」都可以實現,建議用客戶端的方法,原因是給伺服器更多的時間生成Excel文件。
下載的實現要麻煩一些。用網上現成的伺服器端下載組件或自己定製開發一個組件是比較好的方案。另外一種方法是在客戶端操作Excel組件,由客戶端操作伺服器端Excel文件另存至客戶端。這種方法要求客戶端開放不安全ActiveX控制項的操作許可權,考慮到通知每個客戶將伺服器設置為可信站點的麻煩程度建議還是用第一個方法比較省事。
刪除方案由三部分組成:
A: 同一用戶生成的Excel文件用同一個文件名,文件名可用用戶ID號或SessionID號等可確信不重復字元串組成。這樣新文件生成時自動覆蓋上一文件。
B: 在Global.asa文件中設置Session_onEnd事件激發時,刪除這個用戶的Excel暫存文件。
C: 在Global.asa文件中設置Application_onStart事件激發時,刪除暫存目錄下的所有文件。
註:建議目錄結構 \Src 代碼目錄 \Templet 模板目錄 \Temp 暫存目錄
六、 附錄
出錯時Excel出現的死進程出現是一件很頭疼的事情。在每個文件前加上「On Error Resume Next」將有助於改善這種情況,因為它會不管文件是否產生錯誤都堅持執行到「Application.Quit」,保證每次程序執行完不留下死進程。

⑸ PHP或者js怎麼實現excel在線預覽

PHPExcelReader比較輕量級,僅支持Excel的讀取,實際上就是一個Reader。但是可惜的是不能夠支持Excel 2007的格式(.xlsx)

PHPExcel比較強大,能夠將內存中的數據輸出成Excel文件,同時還能夠對Excel做各種操作,下面主要介紹下如何使用PHPExcel進行Excel 2007格式(.xlsx)文件的讀取。

下載PHPExcel後保存到自己的類文件目錄中,然後使用以下代碼可以打開Excel 2007(xlsx)格式的文件:
<?php

require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改為自己的目錄
echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>';
$objReader = PHPExcel_IOFactory::createReaderForFile($filename);
$objPHPExcel = $objReader->load($filename);
$objPHPExcel->setActiveSheetIndex(1);
$date = $objPHPExcel->getActiveSheet()->getCell('A16')->getValue();
?>

輸出$date變數就能夠看到文件中的內容了。PHPExcel使用PHPExcel_IOFactory這個類來自動匹配所上傳的文件類型,當然我們也可以自己制定要解析的文件類型。之後通過load方法,將PHP文件載入到objPHPExcel對象中。如果Excel文件有多個Sheet,可以通過setActiveSheetIndex來設置當前活動的Sheet。如何通過Sheet名來獲得當前Sheet我還不知道,如果有知道的可以站內我。

需要注意的是,對於Excel中的日期格式,PHPExcel讀出來的是不是日期類型,需要我們使用以下方法來進行日期類型轉換。

echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代碼顯示了如何遍歷顯示Excel的內容:

<table id="table_id">
<?php
$objWorksheet = $objPHPExcel->getActiveSheet();
$i = 0;
foreach($objWorksheet->getRowIterator() as $row){
?>
<tr>
<?php
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
if( $i == 0 ){
echo '<thead>';
}
foreach($cellIterator as $cell){
echo '<td>' . $cell->getValue() . '</td>';
}
if( $i == 0 ){
echo '</thead>';
}
$i++;
?>
</tr>
<?php
}
?>
</table>

⑹ 怎麼使用github的js-xlsx庫進行excel文件處理

JS-XLS
JS-XLS的安裝是很簡單的,在瀏覽器中使用該腳本文件,並使用腳本標記載入它:
<!-- https://github.com/SheetJS/js-xls/blob/master/xls.js -->
<script src="/path/to/xls.js"></script>

對於Node.js,只要通過NPM安裝:
$ npm install xlsjs
$ node
> require('xlsjs').readFile('excel_file.xls');

然後,我們可以簡單地使用他們提供的代碼在他們的index.html文件解析和轉換的xls文件JSON,CSV或公式為基礎的輸出。
function get_radio_value( radioName ) {
var radios = document.getElementsByName( radioName );
for( var i = 0; i < radios.length; i++ ) {
if( radios[i].checked ) {
return radios[i].value;
}
}
}

function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
var roa = XLS.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
});
return result;
}

function to_csv(workbook) {
var result = [];
workbook.SheetNames.forEach(function(sheetName) {
var csv = XLS.utils.make_csv(workbook.Sheets[sheetName]);
if(csv.length > 0){
result.push("SHEET: " + sheetName);
result.push("");
result.push(csv);
}
});
return result.join("\n");
}

function to_formulae(workbook) {
var result = [];
workbook.SheetNames.forEach(function(sheetName) {
var formulae = XLS.utils.get_formulae(workbook.Sheets[sheetName]);
if(formulae.length > 0){
result.push("SHEET: " + sheetName);
result.push("");
result.push(formulae.join("\n"));
}
});
return result.join("\n");
}

var tarea = document.getElementById('b64data');
function b64it() {
var cfb = XLS.CFB.read(tarea.value, {type: 'base64'});
var wb = XLS.parse_xlscfb(cfb);
process_wb(wb);
}

function process_wb(wb) {
var output = "";
switch(get_radio_value("format")) {
case "json":
output = JSON.stringify(to_json(wb), 2, 2);
break;
case "form":
output = to_formulae(wb);
break;
default:
output = to_csv(wb);
}
if(out.innerText === undefined) out.textContent = output;
else out.innerText = output;
}

var drop = document.getElementById('drop');
function handleDrop(e) {
e.stopPropagation();
e.preventDefault();
var files = e.dataTransfer.files;
var i,f;
for (i = 0, f = files[i]; i != files.length; ++i) {
var reader = new FileReader();
var name = f.name;
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLS.CFB.read(data, {type: 'binary'});
//var arr = String.fromCharCode.apply(null, new Uint8Array(data));
//var cfb = XLS.CFB.read(btoa(arr), {type: 'base64'});
var wb = XLS.parse_xlscfb(cfb);
process_wb(wb);
};
reader.readAsBinaryString(f);
//reader.readAsArrayBuffer(f);
}
}

function handleDragover(e) {
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = '';
}

if(drop.addEventListener) {
drop.addEventListener('dragenter', handleDragover, false);
drop.addEventListener('dragover', handleDragover, false);
drop.addEventListener('drop', handleDrop, false);
}

JS代碼很容易理解,它使用了HTML5拖放API允許我們上傳文件然後看他們為二進制字元串。二進制,然後直接傳遞到庫,並進一步分析使用此代碼:
var cfb = XLS.CFB.read(data, {type: 'binary'});
var wb = XLS.parse_xlscfb(cfb);

最終,WB(Workbook)對象是處理並轉換成需要的格式(JSON,CSV和Excel公式)。這沒有HTML5拖放文件閱讀器的API,可用於Node.js代碼相同。
註:此模塊不支持xlsx。為了克服這一限制,我們可以通過同一作者稱為JS-XLSX用另一個包。

⑺ js 將資料庫查詢出來的數據導入到excel中

建議你可以加個復選框 是否生成excel表格 .默認不選中,選中的話 在你生成excel表格的時候 進行判斷一下你復選框的值即可. 選中就執行生成的代碼 不選中就跳過 加個判斷即可

⑻ JS 下載/導出 csv、excel、txt 、img等文件的方法總結

1. 調用後端介面導出文件

示例下載介面url https://gold-cdn.xitu.io/extension/0.3.9/package.crx

1.1 window.open(url)

會打開一個新窗口,開始下載後會自動關閉新窗口。Safair 下載後沒有關閉新窗口。

Chrome、IE、Safair支持,貌似火狐不支持

1.2 window.location=url

在當前窗口下載

Chrome、Safair支持

1.3 iframe

在HTML中,iframe 的屬性用src,但在JS中,只有部份瀏覽器支持修改src(讀是沒問題),真正通用的是要修改對應框架的href值。

1.4 <a href="url" download="filename">點擊鏈接下載</a>

HTML5中給a標簽增加了一個download屬性,只要有這個屬性,點擊這個鏈接時瀏覽器就不在打開鏈接指向的文件,而是改為下載,目前只有chrome、firefox、opera、Edge支持。常用此方法點擊下載圖片。

IE既不支持a標簽的download屬性也不允許js調用a 標簽的click方法。

2. 前端直接導出文件到本地

2.1 將數據轉成DataURI用<a>標簽下載

<a href="DataURI" download="filename">點擊鏈接下載</a>

Data URI Scheme

Data URI Scheme是指可以在Web 頁面中包含圖片但無需任何額外的HTTP 請求的一類URI。 Data URI Scheme一般用於將經過base64編碼的數據嵌入網頁中,從而減少請求資源的鏈接數。IE8 之前的版本都不支持 data URI scheme。

DataURI的格式:

生成DataURI的方式

1. encodeURIComponent

使用這種方式,當數據過多時,URI長度容易超出瀏覽器限制。 encodeURIComponent常用來轉碼介面參數,為了避免伺服器收到不可預知的請求,對任何用戶輸入的作為URI部分的內容都需要用encodeURIComponent進行轉義。

2. URL.createObjectURL

URL.createObjectURL的參數是File對象或者Blob對象

IE10以下不支持URL.createObjectURL

2.2 windows.navigator.msSaveBlob IE10~Edge 專用

msSaveBlob 是IE10~Edge 私有方法。

2.3 execCommand

有的資料有提到IE9可以使用execCommand方法來保存數據到本地文件,但是我自己沒有驗證過,不知道是否可行。而且MDN文檔中execCommand沒有查到SaveAs命令。這塊只是做個小記錄。

js數據直接導出/下載數據到本地到方法總結

本文轉載自:https://juejin.im/post/5cd00253518825418f6f2a8c?utm_source=gold_browser_extension

閱讀全文

與js訪問excel模板文件相關的資料

熱點內容
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1
網站上芒果tv的賬號都是什麼 瀏覽:104
帶公式的表格如何刷新數據 瀏覽:81
數據標注語音和2d哪個好 瀏覽:145
保存excel文件的方法 瀏覽:655
手機上看不到電腦上的文件 瀏覽:626
關於ps的微信公眾號 瀏覽:612
矩陣論教程 瀏覽:971
字體文件分系統嗎 瀏覽:921
編程一級考試要帶什麼證件 瀏覽:923
extjs表格修改前數據 瀏覽:612
什麼是資料庫的函數 瀏覽:722
oppo手機怎麼用數據線連接電腦 瀏覽:247
恆智天成備份文件在哪裡 瀏覽:976
電腦沒聯網怎麼拷貝文件 瀏覽:224
wps工具欄怎麼換成中文 瀏覽:338
win7和xp共享文件 瀏覽:883
蘋果4代音量鍵沒反應 瀏覽:827
怎樣打開tif文件 瀏覽:153

友情鏈接