国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity】用Excel庫讀取Excel表格(.xlsx或者.xls)

這篇具有很好參考價(jià)值的文章主要介紹了【Unity】用Excel庫讀取Excel表格(.xlsx或者.xls)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

首先需要下載解析的庫??EPPlus,? Excel,? ICSharpCode.SharpZipLib? ?

下載鏈接:

https://download.csdn.net/download/weixin_46472622/87238048

使用方法

我的Excel 表格是這樣的,每一列有一個(gè)關(guān)鍵詞

unity webgl 讀取excel,Unity,excel,unity,游戲引擎

我用一個(gè)結(jié)構(gòu)體對(duì)象來表示

public struct ExaminationQuestions
{
    public string equipmentType;//設(shè)備類型
    public string questionType;//題目類型
    public string index;//題目編號(hào)
    public string questionPattern;//題目模式
    public string questionDescription; //題目描述
    public string questionOption;//題目選項(xiàng)
    public string currentOption;//正確選項(xiàng)
    public string explain;//說明
}

讀取的方法

 /// <summary>
    /// 讀取Excel 表格
    /// </summary>
    /// <param name="path">表格路徑</param>
    /// <returns></returns>
    public static DataSet ReadExcel(string path)
    {
        IExcelDataReader excelReader = null;
        FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);
        var str = path.Split('.');
        if(str[1]=="xlsx")
        {
         excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
        }
        if(str[1]=="xls")
        {
          excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
        }
        // CreateOpenXmlReader用于讀取Excel2007版本及以上的文件
        DataSet result = excelReader.AsDataSet();
        stream.Close();
        excelReader.Close();

        return result;
    }
  /// <summary>
    /// 加載表格的數(shù)據(jù)并轉(zhuǎn)換為對(duì)象
    /// </summary>
    /// <param name="path">表格路徑</param>
    /// <returns>返回一個(gè)結(jié)構(gòu)題對(duì)象鏈表</returns>
    public static List<ExaminationQuestions> Load(string path)
    {
        DataSet resultds = ReadExcel(path);//調(diào)用讀取的方法

        int column = resultds.Tables[0].Columns.Count;

        int row = resultds.Tables[0].Rows.Count;

        Debug.LogWarning(column + "  " + row);//行,列
        List<ExaminationQuestions> _data = new List<ExaminationQuestions>();

        for (int i =1; i < row; i++)
        {
            ExaminationQuestions temp_data;
            temp_data.equipmentType = resultds.Tables[0].Rows[i][0].ToString();
            temp_data.questionType = resultds.Tables[0].Rows[i][1].ToString();
            temp_data.index = resultds.Tables[0].Rows[i][2].ToString();
            temp_data.questionPattern = resultds.Tables[0].Rows[i][3].ToString();
            temp_data.questionDescription = resultds.Tables[0].Rows[i][4].ToString();
            temp_data.questionOption = resultds.Tables[0].Rows[i][5].ToString();
            temp_data.currentOption = resultds.Tables[0].Rows[i][6].ToString();
            temp_data.explain = resultds.Tables[0].Rows[i][7].ToString();

            Debug.Log(temp_data.equipmentType + "  " + temp_data.questionType+ "  "+ temp_data.index + "  " + temp_data.questionPattern + "  " + temp_data.questionDescription + "  " + temp_data.questionOption + "  " + temp_data.currentOption + "  " + temp_data.explain);

            _data.Add(temp_data);

        }
        return _data;
    }
}

?全部代碼,以及調(diào)用:

using Excel;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Text;
using UnityEngine;

public class XLSXConvert 
{
    void Start()
    {
       // 這里設(shè)置需要讀取的文件的路徑
         string FilePath = Application.streamingAssetsPath + "/ExaminationQuestions.xlsx";
        Load(FilePath);
    }

    /// <summary>
    /// 讀取Excel 表格
    /// </summary>
    /// <param name="path">表格路徑</param>
    /// <returns></returns>
    public static DataSet ReadExcel(string path)
    {
        IExcelDataReader excelReader = null;
        FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);
        var str = path.Split('.');
        if(str[1]=="xlsx")
        {
         excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
        }
        if(str[1]=="xls")
        {
          excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
        }
        // CreateOpenXmlReader用于讀取Excel2007版本及以上的文件
        DataSet result = excelReader.AsDataSet();
        stream.Close();
        excelReader.Close();

        return result;
    }
    /// <summary>
    /// 加載表格的數(shù)據(jù)并轉(zhuǎn)換為對(duì)象
    /// </summary>
    /// <param name="path">表格路徑</param>
    /// <returns>返回一個(gè)結(jié)構(gòu)題對(duì)象鏈表</returns>
    public static List<ExaminationQuestions> Load(string path)
    {
        DataSet resultds = ReadExcel(path);//調(diào)用讀取的方法

        int column = resultds.Tables[0].Columns.Count;

        int row = resultds.Tables[0].Rows.Count;

        Debug.LogWarning(column + "  " + row);//行,列
        List<ExaminationQuestions> _data = new List<ExaminationQuestions>();

        for (int i =1; i < row; i++)
        {
            ExaminationQuestions temp_data;
            temp_data.equipmentType = resultds.Tables[0].Rows[i][0].ToString();
            temp_data.questionType = resultds.Tables[0].Rows[i][1].ToString();
            temp_data.index = resultds.Tables[0].Rows[i][2].ToString();
            temp_data.questionPattern = resultds.Tables[0].Rows[i][3].ToString();
            temp_data.questionDescription = resultds.Tables[0].Rows[i][4].ToString();
            temp_data.questionOption = resultds.Tables[0].Rows[i][5].ToString();
            temp_data.currentOption = resultds.Tables[0].Rows[i][6].ToString();
            temp_data.explain = resultds.Tables[0].Rows[i][7].ToString();

            Debug.Log(temp_data.equipmentType + "  " + temp_data.questionType+ "  "+ temp_data.index + "  " + temp_data.questionPattern + "  " + temp_data.questionDescription + "  " + temp_data.questionOption + "  " + temp_data.currentOption + "  " + temp_data.explain);

            _data.Add(temp_data);

        }
        return _data;
    }
}
public struct ExaminationQuestions
{
    public string equipmentType;//設(shè)備類型
    public string questionType;//題目類型
    public string index;//題目編號(hào)
    public string questionPattern;//題目模式
    public string questionDescription; //題目描述
    public string questionOption;//題目選項(xiàng)
    public string currentOption;//正確選項(xiàng)
    public string explain;//說明
}

如果是打包PC端的exe,需要將編輯器下的I18N導(dǎo)入工程,打包就可以成功解析了。

(打包方式為mono的可以,為IL2Cpp的不行)2019.4.25f1c1\Editor\Data\MonoBleedingEdge\lib\mono\unity

unity webgl 讀取excel,Unity,excel,unity,游戲引擎

?這樣就可以成功解析,如果是IL2cpp要解析Excel表格,可以參考這篇

[Unity]FlexReader插件讀取excel解決IL2Cpp與I18N打包沖突的問題_DAGUNIANGZHOU的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-520888.html

到了這里,關(guān)于【Unity】用Excel庫讀取Excel表格(.xlsx或者.xls)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 用python將csv轉(zhuǎn)excel (.xls和.xlsx)的幾種方式

    excel 后綴有2種格式, .xls 是從 Excel 97 到 Excel 2003 的默認(rèn)文件格式,而 .xlsx 是 Excel 2007 及更高版本的默認(rèn)文件格式。 .xlsx和.xls格式的主要區(qū)別在于,.xls格式單個(gè)工作表最多支持65536行,256列。 .xlsx格式最多支持1048576行,16384列。 此外就是,存儲(chǔ)同樣多的數(shù)據(jù),.xlsx格式文件更

    2024年02月05日
    瀏覽(21)
  • Unity 使用NPOI,模板替換Excel中的關(guān)鍵字(針對(duì).xlsx)

    Unity 使用NPOI,模板替換Excel中的關(guān)鍵字(針對(duì).xlsx)

    Unity 使用NPOI,模板替換Excel中的(針對(duì).xlsx) 需求:項(xiàng)目中要用到生成Excel來打印文件,只需要替換其中的值,保留原模板,生成新的Excel 第一步:在unity中導(dǎo)入一下的dll 新建一個(gè)Plugin的文件夾,把dll全部放進(jìn)去 以上選中的這些文件在unity的安裝目錄下 UnityEditorData

    2023年04月24日
    瀏覽(23)
  • VBA:Application.GetOpenFilename打開指定文件夾里的excel類型文件(xls、xlsx)

    \\\'GetOpenFilename相當(dāng)于Excel打開窗口,通過該窗口選擇要打開的文件,并可以返回選擇的文件完整路徑和文件名。 \\\'Application.GetOpenFilename(“文件類型篩選規(guī)則(就是說明)”,“優(yōu)先顯示第幾個(gè)類型的文件”,“標(biāo)題”,“是否允許選擇多個(gè)文件名”) 打開類型只限excel文件 \\\'“文件類型

    2024年02月11日
    瀏覽(21)
  • Java Excel轉(zhuǎn)PDF,支持xlsx和xls兩種格式, itextpdf【即取即用】

    本篇主要為工具方法整理,參考學(xué)習(xí)其他博主文章做了整理,方便使用。 1、本地轉(zhuǎn)換 導(dǎo)入依賴 創(chuàng)建工具方法 傳入輸入輸出流或文檔地址即可。 2、網(wǎng)絡(luò)下載 通過POI或者easyExcel生成或填充,再由后端轉(zhuǎn)換PDF響應(yīng)前端 思路 :將網(wǎng)絡(luò)下載拆分為本地轉(zhuǎn)換,再響應(yīng)前端即可。 現(xiàn)

    2024年02月04日
    瀏覽(28)
  • Excel表格和Unity

    Excel表格和Unity

    下載EPPlus.dll 鏈接:https://pan.baidu.com/s/1l0FYTf8nATrPdEt6fXJ6Kg?pwd=1111 提取碼:1111 將dll文件拖拽到 Assets/Plugins Assets 下新建文件夾 Editor ,右鍵Editor點(diǎn)擊 Show in Explorer ,新建 Excel 表格文件(后綴.xlsx),表格文件放在Assete/Editor中。 引入命名空間 :using OfficeOpenXml ; using System.IO; Exce

    2024年02月08日
    瀏覽(16)
  • Unity實(shí)現(xiàn)讀取Excel文件

    我們都知道Unity有自帶的類textAsset可以簡(jiǎn)單地讀取Text文本的內(nèi)容。但在實(shí)際的開發(fā)過程中,我們不可避免地會(huì)與excel 或者 json這些文件類型打交道,今天也是花了點(diǎn)時(shí)間,整理出來了如何簡(jiǎn)單地實(shí)現(xiàn)讀取excel文檔的功能。 github地址:github項(xiàng)目地址 本人個(gè)人博客:wyryyds.github.

    2024年02月11日
    瀏覽(14)
  • Android 讀取excel(支持 xls)和 xml

    Android 讀取excel(支持 xls)和 xml

    一、使用jxl 讀取excel文件 1.build.gradle的dependencies中加入? 2.將xls文件復(fù)制到assets文件夾 3.讀取文件內(nèi)容: 二、使用XmlPullParser讀取xml文件 1.將xml文件復(fù)制到assets文件夾 2.讀取文件內(nèi)容: 完整的FileUtil工具類:

    2024年02月13日
    瀏覽(15)
  • UNITY--讀取Excel的幾種方式

    UNITY--讀取Excel的幾種方式

    目錄 一.DLL插件讀取 1.1.Excel存放位置 1.2.使用示例 1.3.Excel格式 ?1.4.輸出顯示? 1.5.所需插件 二.Excel轉(zhuǎn)成Asset文件,再進(jìn)行讀取 2.1Excel文件存放位置 2.2 編輯模式生成Asset文件,并保存到指定位置? 2.3創(chuàng)建ExcelRead腳本,讀取Excel內(nèi)容 2.4 創(chuàng)建數(shù)據(jù)存儲(chǔ)腳本 2.5? 編輯器生成Asset 與屬

    2024年01月20日
    瀏覽(44)
  • vue中使用xlsx讀取excel文件

    vue中使用xlsx讀取excel文件

    在項(xiàng)目的node_modules文件夾和package.json文件中可以找到xlsx依賴 這里使用的h5原生文件上傳項(xiàng) 其中 multiple 屬性允許上傳多個(gè)文件 其中,可以發(fā)現(xiàn)fileList是一個(gè)類數(shù)組,由傳入的file對(duì)象組成。每個(gè)file對(duì)象包含一下屬性: 屬性 屬性值 描述 lastModified Number 表示最近一次的修改時(shí)間

    2024年02月02日
    瀏覽(27)
  • 前端使用xlsx插件讀取excel文件數(shù)據(jù)

    使用 xlsx 插件在前端讀取Excel文件數(shù)據(jù)具有以下優(yōu)點(diǎn)和缺點(diǎn),適用于以下場(chǎng)景: 簡(jiǎn)單易用: xlsx 插件提供了簡(jiǎn)單的API來讀取Excel文件數(shù)據(jù),無需復(fù)雜的配置和依賴。 完整的功能: xlsx 插件支持讀取各種Excel文件格式,包括XLS和XLSX等常見格式,可以讀取多個(gè)工作表和多種數(shù)據(jù)類

    2024年02月14日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包