遇到问题

在做编辑器开发时,需要在Unity Editor下直接读取Excel源文件,首先想到的是通过npoi去读取,但是遇到无法读取xlsx格式,只能读取xls格式的问题。

我的环境

unity 2018.3.6f1

npoi 2.4.1

xlsx指excel 2007格式 ,xls指excel2003格式

资料issues: https://github.com/tonyqus/npoi/issues/182

解决方案

在vs工程中安装npoi,找到依赖项sharpziplib,在packages/目录下

(注:nuget安装包【npoi.nupkg】并不包含sharpzip.dll)

使用npoi对应版本的SharpZipLib,放到unity中,就可解决,比如:

NPOI.2.4.1/net40/*.dll

SharpZipLib.0.86.0

注意:一定要使用npoi对应版本的sharpziplib,如果原unity工程中有sharpziplib,则替换掉。

无法创建xlsx格式

如果遇到npoi创建出来的xlsx无法打开,可尝试以下方法(注:wps可以打开,但ms office无法打开)

应该数据流写入的 是 .xlsx 的数据模式但是 用的是.xls的后缀名,导致数据识别错误

创建xlsx格式和xls格式 使用不同的接口

xls 2003格式: HSSFWorkbook wk = new HSSFWorkbook(fs);

xlsx 2007格式: XSSFWorkbook wk = new XSSFWorkbook(fs); 就可以了

C#配置表解析器

使用C#+npoi编写的配置表解析器:TableML Excel编译/解析工具

开源代码

在npoi的基础之上,又封装了一层,便于简单地读取excel

https://github.com/mr-kelly/KSFramework

查找 ExcelFile.cs

Unity NPOI 无法读取xlsx的更多相关文章

  1. Python读取xlsx文件

    Python读取xlsx文件 脚本如下: from openpyxl import load_workbook workbook = load_workbook(u'/tmp/test.xlsx') ...

  2. 人工智能-机器学习之seaborn(读取xlsx文件,小提琴图)

    我们不止可以读取数据库的内容,还可以读取xlsx文件的内容,这个库有在有些情况还是挺实用的 首先我们想读取这个文件的时候必须得现有个seaborn库 下载命令就是: pip install  seab ...

  3. c# 用OpenXmL读取.xlsx格式的Excel文件 返回DataTable

    1.须要引用的dll :  DocumentFormat.OpenXml.dll  ---须要安装一下OpenXml再引用 WindowsBase  ---直接在项目里加入引用 2.方法: /// & ...

  4. poi读取xlsx

    知道 大家都知道用poi读取xls  当时有时候 必需要读取xlsx  如今我把我做測试的demo分享给大家 package com.lt.main; import java.io.File; imp ...

  5. pandas读取xlsx

    一.使用pandas读取xlsx 引用pandas库 import pandas as pd pd.read_excel(path, sheet_name=0, header=0, names=Non ...

  6. 读取xlsx文件的内容输入到xls文件中

    package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  7. npoi上传xlsx文件,并读取数据

    视图 public PartialViewResult UploadIndex() { return PartialView(); } <div> <fieldset style=& ...

  8. C# .NET 使用 NPOI 读取 .xlsx 格式 Excel

    string filePath = @"C:\Users\yangqinglin\Desktop\test.xlsx"; IWorkbook wk = null; string e ...

  9. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

随机推荐

  1. 第一次JVM分析记录:Out of Memory Error (workgroup.cpp:96), pid=6196, tid=139999645685504

    tomcat的catalina.out日志报错如下: Exception in thread "http-bio-8081-Acceptor-0" java.lang.OutOfM ...

  2. .NET下的使用ActiveMQ

    项目结构 ActiveMQRecive下Program.cs using Apache.NMS; using Apache.NMS.ActiveMQ; using Apache.NMS.Util; u ...

  3. SQL Server移除事务日志后sys.master_files依然存在记录问题

    在SQL Server中移除了事务日志文件后,使用sys.master_files检查时发现,对应的事务日志文件记录信息依然存在sys.master_files里面,只是状态state_desc为OF ...

  4. Java Socket聊天室编程(一)之利用socket实现聊天之消息推送

    这篇文章主要介绍了Java Socket聊天室编程(一)之利用socket实现聊天之消息推送的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 网上已经有很多利用socket实现聊天的例子了 ...

  5. window下的nginx的安装和使用

    nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 http://nginx.org/en/download.html 下载后安装在你钟 ...

  6. LeetCode算法题-Robot Return to Origin(Java实现)

    这是悦乐书的第281次更新,第298篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第149题(顺位题号是657).在2D平面上有一个从位置(0,0)开始的机器人.给定其移 ...

  7. nginx 报错502Bad Gateway

    场景: 目前在ECS中起了多个node服务,使用forever进程守护,最近,打开线上页面发现报错502 Bad Gateway;同时部分静态资源访问不到.(之前可以的): 解决: 首先查看nginx ...

  8. qml demo分析(maroon-小游戏)

    1.效果展示 这篇文章我还是分析一个qt源码中的qml程序,程序运行效果如下图所示. 图1  游戏开始 图2  游戏中 2.源码分析 这个游戏的源码文件比较多,为了能更清楚的了解整个代码,我先整体分析 ...

  9. Asp.Net Core WebApi中接入Swagger组件(初级)

    开发WebApi时通常需要为调用我们Api的客户端提供说明文档.Swagger便是为此而存在的,能够提供在线调用.调试的功能和API文档界面. 环境介绍:Asp.Net Core WebApi + S ...

  10. node.js学习资料(2015-12)

    使用vscode开发,设置代码智能提示的方法,cd 项目目录,然后使用以下命令npm install tsd -gtsd install node express angular -ros 下载 Gi ...