NPOI读取Excel生成DataTable转为Json后利用LitJons读取
NPOI:http://npoi.codeplex.com/
LitJson:https://code.google.com/p/litjsonmd/downloads/list
using System.Data; using System.IO; using NPOI.SS.UserModel; using System.Text;/// <summary> /// 获取json字符串的类 /// </summary> public class GetJson {/// <summary>/// 得到DataTable的方法/// </summary>/// <param name="filePath">传入Excel所在的路径</param>/// <param name="tableName">传入Table的name</param>/// <returns></returns>public static DataTable GetTable(string filePath, string tableName){DataTable table = new DataTable(tableName);if (File.Exists(filePath)){using (FileStream fStream = File.OpenRead(filePath)){IWorkbook workBook = WorkbookFactory.Create(fStream);ISheet sheet1 = workBook.GetSheetAt(0);IRow headRow = sheet1.GetRow(0);int cellCount = headRow.LastCellNum;for (int m = headRow.FirstCellNum; m < cellCount; m++){string headCellValue = headRow.GetCell(m).StringCellValue;table.Columns.Add(headCellValue);}int rowCount = sheet1.LastRowNum;for (int i = (sheet1.FirstRowNum + 1); i < rowCount + 1; i++){DataRow dataRow = table.NewRow();IRow row = sheet1.GetRow(i);for (int j = row.FirstCellNum; j < cellCount; j++){if (row.GetCell(j) != null)dataRow[j] = row.GetCell(j).ToString();}table.Rows.Add(dataRow);}}}return table;}/// <summary>/// 得到json字符串的类/// </summary>/// <param name="dt">传入要生成json字符串的Table</param>/// <returns></returns>public static string GetJsonStr(DataTable dt){StringBuilder jsonBuilder = new StringBuilder();int count = dt.Rows.Count;if (count != 0){jsonBuilder.Append("{");jsonBuilder.Append("\'");//for (int j = 0; j < dt.Columns.Count; j++)//{// jsonBuilder.Append(dt.Rows[i][0].ToString());// break;//} jsonBuilder.Append(dt.TableName);jsonBuilder.Append("\'");jsonBuilder.Append(":");jsonBuilder.Append("[");for (int i = 0; i < dt.Rows.Count; i++){//jsonBuilder.Append("\'");//for (int j = 0; j < dt.Columns.Count; j++)//{// jsonBuilder.Append(dt.Rows[i][0].ToString());// break;//}//jsonBuilder.Append("\'");//jsonBuilder.Append(":");jsonBuilder.Append("{");for (int j = 0; j < dt.Columns.Count; j++){jsonBuilder.Append("");jsonBuilder.Append("\'");jsonBuilder.Append(dt.Columns[j].ColumnName);jsonBuilder.Append("\'");jsonBuilder.Append(":");if (!IsNum(dt.Rows[i][j].ToString())){jsonBuilder.Append("\'" + dt.Rows[i][j].ToString() + "\'");}else{jsonBuilder.Append(dt.Rows[i][j].ToString());}jsonBuilder.Append(",");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("},");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("]");jsonBuilder.Append("}");return jsonBuilder.ToString();}else{return null;}}/// <summary>/// 判断是否为数字/// </summary>/// <param name="number">要判断的string字符串</param>/// <returns>true/false</returns>private static bool IsNum(string number){try{for (int i = 0; i < number.Length; i++){if (!char.IsNumber(number, i)){return false;}}return true;}catch{return false;}} }
转载于:https://www.cnblogs.com/HelloUnity/p/NPOI%e8%af%bb%e5%8f%96Excel%e7%94%9f%e6%88%90DataTable%e8%bd%ac%e4%b8%baJson%e5%90%8e%e5%88%a9%e7%94%a8LitJons%e8%af%bb%e5%8f%96.html
NPOI读取Excel生成DataTable转为Json后利用LitJons读取相关推荐
- python 实现读取excel中的所有sheet后,增加新的sheet,生成新的excel文件
python 实现读取excel中的所有sheet后,增加新的sheet,生成新的excel文件 import pandas as pd import osPath = r"C:\Users ...
- python3读写excel文件_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data ...
- python循环读取excel存入列表_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data ...
- java代码里的JSON格式怎么写好看_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrdimport jsonimport operatordef read_xlsx(filename): # 打开excel文件 data1 = ...
- 二维数组转为json后,ajax这边拼接成表格 要循环??具体怎么写了 ,,
二维数组转为json后,ajax这边拼接成表格 要循环??具体怎么写了 ,,
- 解决Python中TCP数据转为json后中文变为Ascii码的问题
我们我们有时候会使用TCP直接传输JSON数据,这时候正确解析数据就很关键了,最近在使用Python解析TCP传输的JSON数据时就遇到了中文不能正常显示的问题. 原因分析 TCP接口数据转为json ...
- python读excel并写入_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data ...
- js node.js读取excel文件返回为json文本
node-xlsx: 基于Node.js解析excel文件数据及生成excel文件:只支持xlsx xlsx: 基于Node.js解析excel文件数据及生成excel文件:只支持xlsx excel ...
- python绘制表格界面_python 读取 excel 生成 html 页面
前言 有天老板找我到办公室跟我说要做一个商城,商城卖出去东西就有佣金可以拿.我听着就头大.老板打开电脑给我看了网站:你看一下这个网站,照着它的流程就可以拥有一个商城了.我靠过去一看,大概了解一下:原来 ...
最新文章
- android 之 Intent、broadcast
- 现在,Serverless 真的已经成熟了吗?
- SAP MM 采购ERP顾问咨询费限制总金额的框架协议实现方案
- mysql navicat编码保持一致不乱码
- bert 中文 代码 谷歌_如何用最强模型BERT做NLP迁移学习?
- C程序优化之路(二)
- 工作170:删除做个判断操作 成功删除 取消取消
- 顶级程序员的心得–Coders at Work
- php中define的参数_php中define的用法有哪些
- java pdf 类库_有哪些可以给pdf加水印,java第三方开源类库?
- Docker初级选手(一)
- 13.13. ERROR 1364: 1364: Field 'id' doesn't have a default value
- libgdx for eclipse开发环境搭建
- 用打印服务器打印打印机显示脱机,菜鸟也专业 打印机脱机故障处理方法
- PS画直线虚线及图形虚线
- 安全产品的部署方式及位置
- 小试牛刀__GAN实战项目之mnist数据集(二)
- 大数据技术——Azkaban(阿兹卡班)
- 2023华东理工科技大学计算机考研信息汇总
- MYS-6ULX-IOT 开发板测评——Yocto 创建嵌入式 Linux 发行版