excel转为数据

excel转为数据,第1张

工作中,我们常常用到Excel表格,表中是排列整齐数据。但我们常常需要一些各种各样的数据,以满足我们当前的需要,比如:
1、需要将表格内容以键值对的形式作为配置文件
2、需要将表格内容作为SQL数据库导入语句
3、需要根据表格内容作为更新数据库语句
4、需要删除数据库中符合表格规则的内容
5、需要将表格数据转换成json格式
将表格内容以键值对的形式作为配置文件
以电话为键,姓名为值,将其信息放于properties文件,这样每个电话都对应一个姓名(实际应用中可能是userid),而每个姓名可以有多个电话。
1、首先打开需要转换的文件。
2、根据需要输入公式CONCATENATE,拼接成自己所需的格式。
3、鼠标拖动单元格右下角,复制公式使之覆盖你所需要的区域。
4、复制生成的文本信息。
5、将文本信息粘贴到所需要的地方,比如配置文件properties文件。
6、将表格内容作为SQL数据库导入语句。
7、需要根据表格内容作为更新数据库语句。
8、删除数据库中符合表格规则的内容。
9、将表格数据转换成json格式。

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh *** 作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。
Microsoft Office是一套由微软公司开发的办公软件套装,它可以在Microsoft Windows、Windows Phone、Mac系列、iOS和Android等系统上运行。与其他办公室应用程序一样,它包括联合的服务器和基于互联网的服务。从2007版的Office被称为“Office System”而不叫“Office Suite”,反映出它们包括服务器的事实。

自定义一个javasript的对象,为了达到你的要求,这个JSON对象至少有二个属性:css(样式)或者是class(样式的直接名称),另外一个content
跟着就只是each遍历table的每一行,生成对应的json对象保存,就OK了。

<php
//方法很多,利用截取是其中一种
$json = "你的json字符串";
$json = substr($json,0,(strlen($json)-strlen(strrchr($json,","))))"]}";

//但是我觉得你弄复杂了,如果这个json字符串的结构是按照你想象的生成,数据的源头就是数组,那么你大可使用“json_encode”函数就可以生成你想要的json结构,例:你的数组是$json 那么你要生成json结构 只需要 json_encode($json)就能生成;
>

Dt转换成Json一般可以通过以下的步骤来方便的转换
首先对应表做一个实体类,该类标记可序列化
首先查询数据库获取表数据(比如获取了一条)
编译该条记录实例化表实体类并根据字段名赋值
直接按照json格式序列化该实体类就获取了Json格式的数据(如果需要多条数据只需要一个List,然后序列化那个List就可以了)
下面这个我以前做的东西,核心就是将DT转换成实体类集合
/// <summary>
/// DataTable转换为List<Model>的通用类
/// </summary>
/// <typeparam name="T"><Model类型/typeparam>
public static IList<T> ConvertToModel(DataTable dt)
{
// 定义集合
IList<T> ts = new List<T>();
// 获得此模型的类型
Type type = typeof(T);
string tempName = "";
foreach (DataRow dr in dtRows)
{
T t = new T();
// 获得此模型的公共属性
PropertyInfo[] propertys = tGetType()GetProperties();
foreach (PropertyInfo pi in propertys)
{
tempName = piName;
//string objType = piPropertyTypeName;
// 检查DataTable是否包含此列
if (dtColumnsContains(tempName))
{
// 判断此属性是否有Setter
if (!piCanWrite) continue;
object value = dr[tempName];
if (value != DBNullValue)
{
if (value is DateTime) value = valueToString();
piSetValue(t, value, null);
}
else
{
if (value is DateTime) value = valueToString();
if (value is String)
piSetValue(t, valueToString(), null);
}
}
}
tsAdd(t);
}
return ts;
}
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string JSSerialize(object data)
{
SystemWebScriptSerializationJavaScriptSerializer ser = new SystemWebScriptSerializationJavaScriptSerializer();
return serSerialize(data);
}

前台使用Json只需要反序列化话成对象,然后就像获取对象属性一样使用了,
你到百度上搜索序列化反序列化看看应该就明白了。
希望能帮到你……

function submit2() {
var tbody = $("#sampleTable")find("tbody");
changeTbodyToDetail(tbody); $("#concreteForm")find("sampleInfo")val(changeTbodyToDetail(tbody));
$("#concreteForm")submit();
return false;
}
//结合本段js代码和html代码,可以看出这一方法是通过将表格信息进行格式转换后存储在属性为hidden的输入框中,在后台进行存储的。
//从一个tbody中获取数据并置入隐藏域
function changeTbodyToDetail(tbody) {
var result = "";
tbodyfind("tr")each(function () {
var b = changeTrToDetail($(this));
result = result + b + ";";
});
result = resultsubstring(0, resultlength - 1);
$("input[name='sampleInfo']")val(result);
}
//从一个tr中获取数据
function changeTrToDetail(tr) {
var result = "{";
trfind("td")each(function () {
var a = changeTdToDetail($(this));
if (a!=""){
result = result + a + ",";
}
});
result = resultsubstring(0, resultlength - 1);
result = result + "}";
return result;
}
//从一个td中获取一个数据
function changeTdToDetail(id) {
var input = idfind("input[type='text']");
if (inputlength > 0) {
var name = inputprop("name");
var val = inputval();
var result = name + ":\"" + val + "\"";
return result;
}
else{
var select = idfind("select");
var name = selectprop("name");
var val = selectval();
if(name==undefined){
return "";
}else{
var result = name + ":\"" + val + "\"";
return result;
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13401061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存