Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
在實際操作的過程中,我們有時需要快速修改單元格內(nèi)容的次序,具體操作方法為:首先用鼠標(biāo)選定單元格,同時按下鍵盤上的Shift鍵,接著移動鼠標(biāo)指針到單元格邊緣,直至出現(xiàn)拖放指針箭頭,然后進行拖放操作。上下拖拉時鼠標(biāo)在單元格間邊界處會變成一個水平“工”狀標(biāo)志,左右拖拉時會變成垂直“工”狀標(biāo)志,釋放鼠標(biāo)按鈕完成操作后,單元格間的次序即發(fā)生了變化。
網(wǎng)頁上表格形式的信息可以直接從瀏覽器上復(fù)制到Excel中,而且效果極佳。在Excel中,你可以像使用Excel工作表那樣打開Html文件,并獲得同樣的功能、格式及編輯狀態(tài)。
Excel的重要功能之一就是能快速方便地將工作表數(shù)據(jù)生成柱狀、圓餅、折線等分析圖形。要想在Web發(fā)布這類以及用于報表裝飾示意類圖形,首先單擊“工具→選項”命令,在“常規(guī)”中選擇“Web選項”,選擇是否采用便攜網(wǎng)絡(luò)圖形格式(PNG)存儲文件,以加快下載速度和減少磁存儲空間,但要注意這一格式圖形文件將要求瀏覽器支持,并非對所有瀏覽器都合適。如果未選擇PNG圖形格式, Excel會自動選擇并轉(zhuǎn)換為GIF、JPG格式文件,并創(chuàng)建名為“文件名files”的子文件夾來保存轉(zhuǎn)換過的圖形。例如,如果文件名為“dog.htm”,則Excel將創(chuàng)建名為“dog/files”的子文件夾。Excel也會支持文件指定文件名,例如“image01.jpg”和“image02.jpg等。若在Web發(fā)布時選中圖表的“選擇交互”選項框,則生成的Web頁面將保留Excel的圖形與表格數(shù)據(jù)互動的功能,即頁面中顯示數(shù)據(jù)表格和對應(yīng)分析圖形,用戶如果改變表格中的數(shù)據(jù),則對應(yīng)圖形隨之發(fā)生改變。但要注意的是,這一交互并不能刷新存放在服務(wù)器端的數(shù)據(jù)表數(shù)據(jù),如果你需要刷新或修改服務(wù)器端的數(shù)據(jù),則須利用VB等編制腳本程序。
最后一個是不是好高級的樣子,其實也不太難,回歸線會教大家處理一些看似難又實用的技巧哦,大家快來一起學(xué)習(xí)吧!
exceljs是一個讀取,操作和編寫電子表格數(shù)據(jù)和樣式到XLSX和JSON,從Excel電子表格文件逆向工程設(shè)計的項目。之所以稱它最強,是因為它的功能強大,簡直就是專門為Excel打造的前端處理插件,到目前為止,筆者還尚未見過比這個更強大的前端插件,由于其強悍的前端處理能力,這就意味著有很多操作將減輕服務(wù)器端壓力,而且性能更加出色!
https://github.com/exceljs/exceljs
安裝我們當(dāng)然是首選npm
npm install exceljs
var workbook=new Excel.Workbook();
workbook.creator='Me';
workbook.lastModifiedBy='Her';
workbook.created=new Date(1985, 8, 30);
workbook.modified=new Date();
workbook.lastPrinted=new Date(2016, 9, 27);
// 將工作簿日期設(shè)置為1904日期系統(tǒng)
workbook.properties.date1904=true;
“工作簿”視圖控制Excel在查看工作簿時打開多少個單獨的窗口。
workbook.views=[
{
x: 0, y: 0, width: 10000, height: 20000,
firstSheet: 0, activeTab: 1, visibility: 'visible'
}
]
var sheet=workbook.addWorksheet('My Sheet');
用addWorksheet函數(shù)的第二個參數(shù)設(shè)置工作表的選項。
// 創(chuàng)建一個紅色標(biāo)簽顏色的工作表
var sheet=workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});
// 創(chuàng)建一個隱藏網(wǎng)格線的工作表
var sheet=workbook.addWorksheet('My Sheet', {properties: {showGridLines: false}});
// 創(chuàng)建一個第一行和列凍結(jié)的工作表
var sheet=workbook.addWorksheet('My Sheet', {views:[{xSplit: 1, ySplit:1}]});
使用工作表id從工作簿中刪除工作表。
// 創(chuàng)建工作表
var sheet=workbook.addWorksheet('My Sheet');
// 使用工作表ID刪除工作表
workbook.removeWorksheet(sheet.id)
// 迭代所有sheet
// 注意:workbook.worksheets.forEach仍然可以工作,但這個方式更好
workbook.eachSheet(function(worksheet, sheetId) {
// ...
});
// 按名稱獲取表格
var worksheet=workbook.getWorksheet('My Sheet');
// 按ID獲取表格
var worksheet=workbook.getWorksheet(1);
。。。。。。以上只是部分文檔中的介紹,感興趣的小伙伴可以移步Github直接查看詳細的文檔,完整功能了解可參考下一個標(biāo)題
PS:提供了中文文檔
雖然以上功能還不能包括了Excel的所有功能,但也已經(jīng)相當(dāng)?shù)呢S富了!
在之前的文章中曾介紹過另一個不錯的前端Excel插件,感興趣的可以去看一看,exceljs擁有這么豐富的功能,如果你想開發(fā)一個功能強大的Web電子表格,不妨多嘗試嘗試!
果圖:
實現(xiàn)代碼:
from flask import Flask
import pandas as pd
from flask import request
app=Flask(__name__)#創(chuàng)建對象
@app.route("/sd",methods=["GET","POST"])#設(shè)置路由,實現(xiàn)url方法
def sd():#業(yè)務(wù)邏輯
df=pd.read_excel("F:\數(shù)據(jù)\Excel\數(shù)據(jù)源.xlsx",sheet_name="lie1")#讀取指定工作簿中指定表的數(shù)據(jù)
sale_date=pd.DataFrame()
customer_name=request.form.get("customer_name","")
#Request.Form.Get("from"):取得表單中name為from的控件的值.
#如果from為text(客戶端) 的name屬性值.則Request.Form.Get("from")為其value;
#如果from為select(客戶端)的name,則Request.Form.Get("from")為select所選則的值(value)
if customer_name:
sale_date=df.query(f"顧客姓名=='{customer_name}'")
return f"""
<html><body style="text-align:center">
<h1>查詢顧客數(shù)據(jù)</h1>
<form action="/sd" method="post">#
顧客姓名:
<input type="text" name="customer_name" value="{customer_name}">
<input type="submit" name="submit" value="查詢">
</form>
<center>%s</center>
</body></html>
"""%sale_date.to_html(index=False)#%s 中的s替換為sale_date數(shù)據(jù),sale_date.to_html:pandas可將讀取的Excel數(shù)據(jù)直接轉(zhuǎn)化為網(wǎng)頁顯示形式
#f---包裹變量比如name=‘小明’, print(f'hello {name}') --結(jié)果:hello 小明
app.run -()
備注:
customer_name=request.form.get("customer_name",""):
customer_name=request.form.get("customer_name")
訪問地址:
需加@app.route("/sd",methods=["GET","POST"])
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個字符
%b 二進制整數(shù)
%d 十進制整數(shù)
%i 十進制整數(shù)
%o 八進制整數(shù)
%x 十六進制整數(shù)
%e 指數(shù) (基底寫為e)
%E 指數(shù) (基底寫為E)
%f 浮點數(shù)
%F 浮點數(shù),與上相同%g 指數(shù)(e)或浮點數(shù) (根據(jù)顯示長度)
%G 指數(shù)(E)或浮點數(shù) (根據(jù)顯示長度)
%% 字符"%"
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。