推荐一款自己编写的一款软件,excel 转json 工具(绿色、纯净、免费、共享);
因为游戏需要将excel或其它表格转成json工具,以供cocos creator使用,其它一些工具的比较 :
1.cocos creator插件, 也有免费的,但主要是效率低,如果excels文件多的时候,转换时间特别的长,无法接受。就是入口方便
自己编写的软件exceltojson v1.0.0, 主要是自学WPF时顺手完成的工具, 因为之前使用过 c# winform, 所以转wpf也是相当顺利,主要技术点
1.excel数据表的读取采用ExcelDataReader.,相比ms提供的oledb接口就是:使用方便并且更容易发布。
public static DataTable GetDataFromExcelByConn(string filePath)
{
//string fileType = System.IO.Path.GetExtension(filePath);
//bool hasTitle = false;
//if (string.IsNullOrEmpty(fileType)) return null;
//try
//{
// using (DataTable dt = new DataTable())
// {
// string strCon = string.Format("Provider=Microsoft.ACE.OLEDB.{0}.0;" +
// "Extended Properties=\"Excel {1}.0;HDR={2};IMEX=1;\";" +
// "data source={3};",
// (fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), (hasTitle ? "Yes" : "NO"), filePath);
// OleDbConnection myConn = new OleDbConnection(strCon);
// myConn.Open();
// DataTable sheetsName = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
// string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
// string strCom = string.Format("SELECT * FROM [{0}]",firstSheetName); //查询字符串
// using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn))
// {
// myCommand.Fill(dt);
// }
// myConn.Close();
// return dt;
// }
//}
//catch (Exception ex)
//{
// Debug.Print(ex.ToString());
//}
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
string ext = Path.GetExtension(filePath);
// Auto-detect format, supports:
// - Binary Excel files (2.0-2003 format; *.xls)
// - OpenXml Excel files (2007 format; *.xlsx, *.xlsb)
using (var reader = ext != ".csv" ? ExcelReaderFactory.CreateReader(stream) : ExcelReaderFactory.CreateCsvReader(stream))
{
// 2. Use the AsDataSet extension method
var ds = reader.AsDataSet();
return ds.Tables[0];
// The result of each spreadsheet is in result.Tables
}
}
}
exceltojson 工具特点:
- 界面简结,操作简单,工具包小,效率高,速度快 (4.5M,可以更小的,懒得整理)。
- 支持多各表: .xls .xlsx 及 .csv,转成json后可以立即检测结果是否正确。
- 绿色、纯净、免费、共享,解压即可用。
- 软件分享地址:我用夸克网盘分享了「ImgSplitv1.0.0.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
我用夸克网盘分享了「exceltojsonV1.0.0.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/3e7635634157