Excel 读取
using UnityEngine;
using System.Collections;
using NPOI;
using Ionic.Zip;
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.Text; public class Test : MonoBehaviour
{
void Start ()
{
ExportXls();
}
public static void ExportXls()
{
StringBuilder sbr = new StringBuilder();
using (FileStream fs = File.OpenRead(@"D:\UnityProject\ExcelTest\Assets\Resources\Book1.xls")) //打开myxls.xls文件
{
HSSFWorkbook wk = new HSSFWorkbook(fs); //把xls文件中的数据写入wk中
for (int i = ; i < wk.NumberOfSheets; i++) //NumberOfSheets是myxls.xls中总共的表数
{
ISheet sheet = wk.GetSheetAt(i); //读取当前表数据
for (int j = ; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j); //读取当前行数据
if (row != null)
{ sbr.Append("-------------------------------------\r\n"); //读取行与行之间的提示界限
for (int k = ; k <= row.LastCellNum; k++) //LastCellNum 是当前行的总列数
{
ICell cell = row.GetCell(k); //当前表格 if (cell != null)
{
cell.SetCellValue("");
//Debug.Log(cell.ToString());
//sbr.Append(cell.ToString()); //获取表格中的数据并转换为字符串类型
}
}
}
}
} //using (FileStream fsWrite = File.OpenWrite(@"D:\UnityProject\ExcelTest\Assets\Resources\Book1.xls")) //打开一个xls文件,如果没有则自行创建,如果存在myxls.xls文件则在创建是不要打开该文件!
//{
// wk.Write(fs); //向打开的这个xls文件中写入mySheet表并保存。
// Debug.Log("写入完成");
//} using (StreamWriter wr = new StreamWriter(new FileStream(@"D:\UnityProject\ExcelTest\Assets\Resources\Book2.xls", FileMode.CreateNew))) //把读取xls文件的数据写入myText.txt文件中
{
wr.Write(wk);
wr.Flush();
Debug.Log("写入");
}
} ////sbr.ToString(); }
}
NPOI.dll
JsonFx.Json.dll
System.Data.dll
using UnityEngine;
using System.Collections;
using System;
using System.Data;
using System.Data.Odbc;
using System.Data.OleDb;
using System.Collections.Generic;
using JsonFx.Json;
using System.IO; /// <summary>
/// 获取Excel数据
/// </summary>
public class GetExcelData : MonoBehaviour
{
public GameDataManager m_GameDataManager;
public List<Achievement> m_PlayerDatas;
public Achievement m_PlayerData;
DataTable dtMyData = new DataTable("MyData");
string str = "";
string filepath; // Use this for initialization
void Start()
{
#if UNITY_STANDALONE_WIN || UNITY_EDITOR
filepath = Application.dataPath + "/" + "AchievementData20140410.xls"; #elif UNITY_IPHONE
filepath = Application.dataPath +"/Raw"+ "AchievementData20140410.xls";
#elif UNITY_ANDROID //安卓
filepath ="jar:file://" + Application.dataPath + "!/assets/"+"AchievementData20140410.xls";
#endif
//////////////
ReadXLS(filepath);
} void ReadXLS(string filetoread)
{
string con = "Driver={Microsoft Excel Driver (*.xls)}; DriverId=790; Dbq=" + filetoread + ";";
Debug.Log(con);
string yourQuery = "SELECT * FROM [Sheet1$]";
OdbcConnection oCon = new OdbcConnection(con);
OdbcCommand oCmd = new OdbcCommand(yourQuery, oCon);
oCon.Open();
OdbcDataReader rData = oCmd.ExecuteReader();
dtMyData.Load(rData);
rData.Close();
oCon.Close(); if (dtMyData.Rows.Count > )
{
m_PlayerDatas = new List<Achievement>();
Achievement achievement = null; Debug.Log("列数" + dtMyData.Columns.Count + "行数:" + dtMyData.Rows.Count); for (int i = ; i < dtMyData.Rows.Count; i++)
{
string cjName = dtMyData.Rows[i][dtMyData.Columns[].ColumnName].ToString();
string jl = dtMyData.Rows[i][dtMyData.Columns[].ColumnName].ToString();
string level = dtMyData.Rows[i][dtMyData.Columns[].ColumnName].ToString();
string cjType = dtMyData.Rows[i][dtMyData.Columns[].ColumnName].ToString();
string mbCount = dtMyData.Rows[i][dtMyData.Columns[].ColumnName].ToString(); achievement = new Achievement();
achievement.m_Key = "BLDM";
achievement.m_AchievementName = cjName;
achievement.m_Level = int.Parse(level);
achievement.m_Reward = int.Parse(jl);
achievement.m_AchievementType = (AchievementType)int.Parse(cjType);
achievement.m_CurrentCount = ;
achievement.m_TargetCount = int.Parse(mbCount); ;
achievement.m_IsOk = ;
achievement.m_IsReceive = ;
achievement.m_Markup = i+;
m_PlayerDatas.Add(achievement); //Debug.Log(" : " + cj + " 奖励:" + dtMyData.Rows[i][dtMyData.Columns[1].ColumnName].ToString() + " 列数 : " + dtMyData.Rows[i][dtMyData.Columns[2].ColumnName].ToString());
}
m_GameDataManager.gameDatas = m_PlayerDatas;
m_GameDataManager.Save(); string json = JsonWriter.Serialize(m_PlayerDatas);
FileUtility.CreateFile(json); }
}
}
Excel 读取的更多相关文章
- java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)
使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...
- excel读取 工具类
package cn.yongche.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOExce ...
- NPOI 2.0 Excel读取显示
NPOI 2.0 Excel读取显示 最近接到需求,需要把excel表格里的数据原样展示到web页面,主要是满足随意跨行跨列. 之前用过一点NPOI,不过接触的不太多,趁这次机会再熟悉一下.由于操 ...
- Pandas之Dateframe 实现Excel读取与写入
目的:有时需对数据进行到出到Excel,直观的给别人参阅,或从Excel中读取数据进行操作和分析依赖库 pandas 可简单的读出和写入 1,根据Excel读取( 需安装xlrd库) import n ...
- EPPlus实战篇——Excel读取
.net core 项目 可以从excel读取任何类型(T)的数据,只要T中的field的[Display(Name = "1233")]中的name==excel column ...
- php excel 读取日期问题
在 php excel 读取 xls 格式的文件时,xls 上面显示的是正常的日期格式 但是读取出来的话,就会是一个万位整形数据,这显然不是我们想要的日期 读取出来的结果: 41807 $t = 41 ...
- 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)
通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...
- C#连接Excel读取与写入数据库SQL ( 上 )
第一次写C#与sql的东西,主要任务是从Excel读取数据,再存到SQL server中. 先上读取Excel文件的code如下. public bool GetFiles(string equipN ...
- Excel 读取写入数据库
// Excel 读取写入数据库 // 3.8版本的poi 4.0 可以不用写 parseCell 这个方法,可以直接赋值 STRING 类型 import org.apache.poi.hss ...
- excel读取
一.jar包 二.工具类 package excel; import java.io.FileInputStream; import java.io.FileNotFoundException; im ...
随机推荐
- 存储过程 ----- navicat 创建存储过程
以下为navicat 创建存储过程步骤图解: 1. 2. 3. 4. 在存储过程正文中是输入一行语句测试用,点击保存 5.输入存储过程名称,点击确定 6.到这来那么问题来了,会提示错误 7.切记存储过 ...
- python中的yield生成器详解
#原创,转载请先联系 在学习生成器之前,必须先了解一下迭代器.因为生成器就是一种特殊的迭代器,而且生成器用起来更加优雅. 迭代器的详解可以参考我的另一篇博文:https://www.cnblogs.c ...
- explain分析SQL语句详解
性能分析explain MySql Query Optimizer是MySql中专门负责优化select语句的优化器模块,主要功能:通过计算分析系统中收集到的系统信息,为客户端请求的Query提供他认 ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(10)-音乐和音效
本章音效文件都来自于公共许可: http://files.cnblogs.com/mignet/sounds.zip 在游戏中,播放背景音乐和音效是基本的功能. Libgdx提供了跨平台的声音播放功能 ...
- 【转】docker之Dockerfile实践
转自:https://www.cnblogs.com/jsonhc/p/7767669.html 上一篇介绍了Dockerfile中使用的指令,现在开始进行指令实践 先查看下本地的镜像,选一个作为ba ...
- poj1789 最小生成树
题目连接:http://poj.org/problem?id=1789 Description Advanced Cargo Movement, Ltd. uses trucks of differe ...
- HDU 2537 8球胜负(模拟)
/*这是一个模拟题,模拟一种台球的进球过程,并且判定胜负. 对于输入的字符串,如果出现R则红方记1分,如果出现Y则黄方记1分. 最后根据哪一方打进黑球和得分情况判定胜负. 程序说明: 这里给出两个C语 ...
- [Python Debug]Kernel Crash While Running Neural Network with Keras|Jupyter Notebook运行Keras服务器宕机原因及解决方法
最近做Machine Learning作业,要在Jupyter Notebook上用Keras搭建Neural Network.结果连最简单的一层神经网络都运行不了,更奇怪的是我先用iris数据集跑了 ...
- 洛谷——P1033 自由落体
P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...
- POJ2032 Building a Space Station(Kruskal)(并查集)
Building a Space Station Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7469 Accepte ...