亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【JavaScript】x-spreadsheet從數(shù)據(jù)庫/JSON加載數(shù)據(jù)

admin
2024年6月12日 12:30 本文熱度 2542

文章目錄

    • 新建一個(gè)flask項(xiàng)目

    • 使用

    • 從數(shù)據(jù)庫讀取數(shù)據(jù)解析為表格

    • 在flask中使用xspread-sheet

項(xiàng)目地址:link

使用

一個(gè)最簡單的demo,只用一個(gè)html,不需要任何其它配置

<link rel="stylesheet" href="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/xspreadsheet.css">

<script src="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/xspreadsheet.js"></script>

<script src="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/locale/zh-cn.js"></script>

<div id="x-spreadsheet-demo">

  <script>

    x_spreadsheet.locale('zh-cn');  //中文

    var htmlout = document.getElementById('x-spreadsheet-demo')

    var xs = x_spreadsheet(htmlout

  </script>

</body>

</div>

現(xiàn)在的問題是如何把插件加載json數(shù)據(jù),以及處理保存的問題。數(shù)據(jù)導(dǎo)出成excel應(yīng)該沒問題。

在npm中使用

作者說不推薦,放棄

導(dǎo)入和導(dǎo)出

作者給的例子是另一個(gè)項(xiàng)目里的:link

這個(gè)例子下載后在win上有bug:

  1. index.html第45,46行,引用的兩個(gè)文件是鏈接,在win是不生效的,手動下載這兩個(gè)文件

  2. index.html 第55行,var xspr = x.spreadsheet(HTMLOUT),變量x未定義,改成x_spreadsheet(HTMLOUT)

改了之后就,瀏覽器打開index.html后就可以使用了,效果還不錯(cuò)。導(dǎo)出之后會丟失所有格式。

從數(shù)據(jù)庫讀取數(shù)據(jù)解析為表格

先看一個(gè)加載json的例子

<link rel="stylesheet"

    href="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/xspreadsheet.css">

<script src="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/xspreadsheet.js"></script>

<script src="https://unpkg.com/x-data-spreadsheet@1.1.1/dist/locale/zh-cn.js"></script>

<div id="x-spreadsheet-demo">

    <script>

        x_spreadsheet.locale('zh-cn');  //中文

        var htmlout = document.getElementById('x-spreadsheet-demo')

        data = [{

    "name":"Sheet1","freeze":"A1","styles":[],"merges":[],

        "rows":{

    

            "0":{

    "cells":{

    "0":{

    "text":"id"},"1":{

    "text":"name"}}},

            "1":{

    "cells":{

    "0":{

    "text":"1"},"1":{

    "text":"Tom"}}},

            "2":{

    "cells":{

    "0":{

    "text":"2"},"1":{

    "text":"Hall"}}},

            "3":{

    "cells":{

    "0":{

    "text":"3"},"1":{

    "text":"Sure"}}},

            "len":5},

            "cols":{

    "len":6},

            "validations":[],

            "autofilter":{

    }}]

        var xs = x_spreadsheet(htmlout).loadData(data)

        console.log("表格返回的數(shù)據(jù)為:\n", xs.getData())  // getData得到一個(gè)object對象,要把它轉(zhuǎn)為json用JSON.stringify()

        console.log("json字符串格式為:\n", JSON.stringify(xs.getData()))

    </script>

</div>

上面的例子中,各出的json格式和從數(shù)據(jù)庫拿到的不一樣,所以我們?nèi)绻氚褟臄?shù)據(jù)庫拿出的直接json樣式展示出來,需要自己寫一個(gè)轉(zhuǎn)換函數(shù)。這個(gè)在后端還是前端都可以,我們就在后端完成這個(gè)工作。

假設(shè)由數(shù)據(jù)庫得到一個(gè)df對象,現(xiàn)在把它拼接成這種形式的json字符串。

  • 我們發(fā)現(xiàn)json中指定的行和列,如果新增行列是在前面加,所以指定的時(shí)候就比數(shù)據(jù)庫的數(shù)據(jù)多一行一列。

現(xiàn)在用 python 來實(shí)現(xiàn)格式轉(zhuǎn)換:
dataframe -> dict -> dict2 -> list
dict2的格式

 

這是一個(gè)四維字典,用:

dict2['0']['cells']['0']['text']

可以訪問到 第一個(gè)數(shù)據(jù),這里就是 id, 但實(shí)際上數(shù)據(jù)是二維的,二四維是固定的‘cells’和’text’。

方案一:直接用字符串拼接

def df2xspreadsheetjson(df) -> str:    '''
    df對象轉(zhuǎn)為 x-spreadsheet格式的json字符串
    :param df: 從數(shù)據(jù)庫得到的dataframe
    :return: str
    '''
    cols = []    # 重命名標(biāo)題行,主要考慮標(biāo)題行空等情況    for col in df.columns:        if col == "":
            cols.append("N/A")  # 標(biāo)題行空,一般不可能        elif col 

該文章在 2024/6/12 12:31:21 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved