標簽中,一般包含網頁中除頭部和底部之外的其他內容。6 瀏覽器審查HTML標簽元素
瀏覽器頁面按F12打開
左邊顯示為HTML,右邊顯示為CSS(后面會學到)
7 表格標題標簽
表格的標題:caption
caption元素定義表格標題。
caption標簽必須緊隨table標簽之后。只能對每個表格定義一個標題。通常這個標題會被居中于表格之上。
8 合并單元格
跨行合并:rowspan
跨列合并:colspan
“2”表示合并兩個單元格,數值是多少就合并多少個單元格。
看不懂的小伙伴不要氣餒,后續的分享中將持續解釋,只要你跟著我分享的課程從頭到尾去學習,每篇文章看三遍,一個月后,回過頭來看之前的文章就會感覺簡單極了。
本章已結束,下篇文章將分享《08 表單和表單控件》小伙伴們不要錯過喲!上述內容是作者本人的學習筆記,需要原視頻學習資料可以在公眾號回復關鍵詞“前端資料”
述可幫助您找到構建可處理大量數據的Web應用程序的正確解決方案。
在本文中,我將基于其功能和許可策略簡要概述五個流行的獨立JavaScript電子表格庫。這些圖書館可以免費在非營利項目中實施,也可以提供商業用途的付費許可。我希望此概述可以幫助您找到構建旨在處理大量數據的Web應用程序的正確解決方案。
Handsontable
Handsontable據說是一個帶有電子表格外觀的JavaScript網格。它是一個純JavaScript庫,支持React,Vue.js和Angular。其基本功能列表包括折疊列,調整大小,移動和隱藏列和行,添加注釋,顯示列摘要,導出數據,應用條件格式,使用數據驗證和添加下拉菜單的功能。也可以對數據進行排序和過濾并使用自動填充。
更有趣的是高級功能列表。例如,開發人員可以選擇在觸發表呈現時應使用哪個渲染器。此外,還可以創建自定義插件,使用自定義按鈕,并在單元格之間定義自定義邊框。此外,還有諸如多列排序,嵌套標題,修剪行 等功能。
Handsontable提供 三種類型的許可證:非商業免費許可證,開發人員(每個開發人員790美元),企業(自定義價格)許可證。
我的結論:Handsontable是非商業項目和那些準備為豐富功能付費的人的一個很好的選擇。
AG-網格
ag-Grid是一個JavaScript網格/電子表格組件,可以與Angular,Angular JS 1.x,React,Vue.js,Polymer和Web Components輕松集成,沒有第三方依賴。這個100,000行的演示判斷它的快速性能和數十 行。
分組和聚合功能允許用戶以他們想要的方式處理數據。可以按特定列對數據進行分組,并且可以在分組行中顯示各種聚合列值。ag-Grid提供快速過濾功能和自定義過濾器。延遲加載允許在用戶滾動時顯示所需的行數并請求其他數據,這有助于節省服務器資源。ag-Grid支持實時更新,每秒可處理數百個更新。您可以閱讀有關這些功能和其他功能的更多信息,并在功能概述頁面上查看一些演示 。
該庫有 兩個版本:社區和企業。社區版本由MIT許可證涵蓋,僅包括基本功能。具有所有可用功能的Enterprise許可證有三個選項:Single Application Developer(每個開發人員750美元),Multiple Application Developer(每個開發人員1,200美元)和部署許可證(每個生產環境750美元)。
我的結論是:ag-Grid提供了許多有用的功能,并且可以與不同的JS框架進行簡單的集成。對于大預算項目來說,這似乎是一個不錯的選擇,因為許可非常靈活而且價格昂貴。
dhtmlxSpreadsheet
dhtmlxSpreadsheet是一個可自定義的JavaScript電子表格組件,具有Material skin和類似Excel的界面。它為三個流行的框架提供了包裝器:React,Vue.js和Angular。
您可以根據其用戶指南自定義此電子表格的幾乎每個元素- 例如,使用工具欄,菜單和上下文菜單控件的自定義圖標字體包而不是Material-design控件。單元格格式功能允許您更改文本顏色和裝飾,背景顏色,設置文本對齊,將不同的數字格式應用于單元格值(百分比,貨幣甚至自定義格式),調整列大小等。
還可以鎖定單元格,通過在單元格中鍵入數據來自動填充包含內容的單元格,并拖動填充句柄以延長其他單元格中的一系列數字或字母。dhtmlxSpreadsheet提供了相當多的導航熱鍵列表。此外,該庫提供了從Excel文件導入和導出數據的機會。為此,dhtmlxSpreadsheet開發人員已經實現了他們自己的開源庫Excel2Json和Json2Excel。
dhtmlxSpreadsheet提供四個主要許可證:免費GNU GPL v2,商業許可證(最多5個開發人員149美元),企業許可證(最多20個開發人員團隊449美元),終極許可證(無限數量的開發人員669美元)。
我的判斷:dhtmlxSpreadsheet提供了一組基本功能和對流行框架的支持,可以被認為是物有所值的。
Clusterize.js
開發人員將Clusterize.js描述 為一個很小的插件,可以輕松顯示大型數據集。它的權重僅為2.3KB gzipped,但遺憾的是它沒有提供任何高級功能。其主要目的是使具有大量行的表在網頁上平滑運行。Clusterize.js不是用所有使用的標簽“污染”DOM,而是將列表拆分為簇,然后顯示當前滾動位置的元素,并在列表的頂部和底部添加額外的行以模擬表的完整高度,以便瀏覽器顯示完整列表的滾動條。此庫適用于現代瀏覽器,并支持所有主要的移動設備。
好消息是Clusterize.js非常實惠。在 可用的許可證中,您可以找到個人許可證(個人項目免費),商業許可證(25美元用于商業用途和無限數量的項目),以及擴展許可證(110美元;可以包含在待售產品中)。
我的結論是:Clusterize.js是那些尋找能夠快速運行并節省一些錢的單一用途工具的人的絕佳選擇。
SlickGrid
SlickGrid是一個簡潔而簡約的JavaScript電子表格組件。自適應虛擬滾動允許處理數十萬行而沒有任何延遲。該庫支持jQuery UI主題并支持廣泛的自定義。用戶可以調整列的大小,重新排序,顯示或隱藏,使用分組,過濾,自定義聚合器和其他功能。可插入單元格格式器和編輯器允許您擴展Web應用程序的功能。
如您所見,SlickGrid提供了一組基本功能,可以滿足普通用戶的需求。不幸的是,根據項目的 GitHub頁面,這個庫最近沒有受到開發人員的太多關注。好消息是SlickGrid是免費提供的。
我的判斷:如果你不是在尋找豐富的功能或者買不起商業許可證,那么SlickGrid可能是個不錯的選擇。
數據分析中,將數據以表格的形式呈現出來是必不可少的環節,Pandas 是一個非常強大的數據分析庫,提供了很多方便的方法來處理和展示數據。今天,我們將學習如何使用 Pandas 自定義表格樣式并將其導出為 HTML 格式。
通過這種方式,我們可以更好地組織和展示數據,并在網頁上共享我們的分析結果,并且,掌握Pandas數據存儲和表格樣式自定義的方式,在日常工作過程中有更多應用和實踐意義,將拓展我們的數據分析思路。
導入數據
首先,導入pandas庫,并為其設置別名pd,使用pandas的read_excel函數讀取指定路徑下的Excel文件,并將其內容存儲在DataFrame對象df中。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡潤百富榜.xlsx')
#默認顯示DataFrame的前五行。
df.head()
df.info()顯示DataFrame的簡要信息,包括索引、列名、數據類型和每列的非空值數量,這里顯示該數據表含有1241行數據。
#數據預覽
df.info()
使用iloc方法篩選DataFrame的前100行數據。
df=df.iloc[:100,:]#篩選前100行數據
df
自定義樣式
定義一個樣式對象style,該對象用于生成HTML的樣式,這里對篩選出來的前100行的數據進行了樣式設置,它定義了一個居中的標題(h1標簽),一個表格(table標簽),以及表格中的表頭(th標簽)和單元格(td標簽)。
- h1 標簽:文本居中,字體大小為24像素,下邊距為10像素;
- table 標簽:邊框合并(border-collapse: collapse;),寬度為100%;
- th, td 標簽:邊框為1像素的實線,內邊距為8像素,文本居中;
- th 標簽:背景顏色為淺灰色(#f2f2f2)。
# 定義CSS樣式,添加標題“2023年胡潤百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡潤百富榜</title></head>
<h1>2023年胡潤百富榜</h1>
"""
將DataFrame轉換為HTML代碼,并添加樣式,index=False來去除行索引 。
# 將DataFrame轉換為HTML代碼,并添加樣式
html = style + df.to_html(index=False) # 使用index=False來避免顯示行索引
將生成的HTML內容寫入到名為'2023年胡潤百富榜.html'的文件中。
# 將HTML代碼寫入文件或打印到控制臺
with open('2023年胡潤百富榜.html', 'w') as file:
file.write(html) # 將HTML代碼寫入文件output.html
完整版的代碼如下所示。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡潤百富榜.xlsx')
df=df.iloc[:100,:]#篩選前100行數據
# 定義CSS樣式,添加標題“2023年胡潤百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡潤百富榜</title></head>
<h1>2023年胡潤百富榜</h1>
"""
# 將DataFrame轉換為HTML代碼,并添加樣式
html = style + df.to_html(index=False) # 使用index=False來避免顯示行索引
# 將HTML代碼寫入文件或打印到控制臺
with open('2023年胡潤百富榜.html', 'w') as file:
file.write(html) # 將HTML代碼寫入文件output.html
導出的HTML表格樣式如下所示,整體圖表風格較為簡潔。
導入數據
html的格式數據也是數據存儲的一種方式,使用read_html命令可以將其很便捷地導入,從而進行接下來的數據分析。
import pandas as pd
df_html=pd.read_html('2023年胡潤百富榜.html',encoding='gbk')[0]
df_html
通過學習如何使用 Pandas 自定義表格樣式并將其導出為 HTML 格式,我們掌握了更豐富的數據處理和展示技巧,并且,還可以根據實際業務需求來自定義表格樣式,實現與他人共享數據的目的。