xls到xml
protected void btn_ok_Click(object sender, EventArgs e)
{
string x = txtpath.Text;
DataSet ds = GetConnect(x);
DataTable xDataTable = ds.Tables[0]; string xFile = Server.MapPath("~/") + "action.xml";
if (File.Exists(xFile))
File.Delete(xFile);
//建立Xml的定义声明
XmlDocument xmlDoc = new XmlDocument();
try
{ XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "GB2312", null); xmlDoc.AppendChild(dec); //创建根节点
XmlElement root = xmlDoc.CreateElement("data");
xmlDoc.AppendChild(root);
for (int i = 0; i < xDataTable.Rows.Count; i++)
{
var str=xDataTable.Rows[i][1].ToString();
if(str=="")
{
break;
} if (i < 5)
{
var sdate = "2015年" + (xDataTable.Rows[i][3] + "").Substring(0, 5);
var edate = "2015年8月" + ((xDataTable.Rows[i][3] + "").Substring(6, 2));
//TimeSpan days=Convert.ToDateTime(edate) - Convert.ToDateTime(sdate);
//var n = int.Parse(days.ToString());
for (int r = 0; r <= 6; r++)
{ XmlNode item = xmlDoc.CreateElement("item");
XmlElement title = xmlDoc.CreateElement("Title");
title.InnerText = xDataTable.Rows[i][1] + "";
item.AppendChild(title);
XmlAttribute xmldate = xmlDoc.CreateAttribute("date");
xmldate.Value = "8月"+(Convert.ToDateTime(sdate).AddDays(r).ToString()).Substring(7,3)+"日";
title.Attributes.Append(xmldate);
XmlAttribute xmlchangguan = xmlDoc.CreateAttribute("changguan");
xmlchangguan.Value = xDataTable.Rows[i][4] + "";
title.Attributes.Append(xmlchangguan);
XmlAttribute xmlisImportion = xmlDoc.CreateAttribute("isImportion");
xmlisImportion.Value = "1";
title.Attributes.Append(xmlisImportion); XmlElement jiaBin = xmlDoc.CreateElement("jiaBin");
jiaBin.InnerText = xDataTable.Rows[i][2] + "";
item.AppendChild(jiaBin); XmlElement time = xmlDoc.CreateElement("time");
time.InnerText = "9:00-21:00";
item.AppendChild(time); XmlElement address = xmlDoc.CreateElement("address");
address.InnerText = xDataTable.Rows[i][4] + "";
item.AppendChild(address); XmlElement zhuBanDanWei = xmlDoc.CreateElement("zhuBanDanWei");
zhuBanDanWei.InnerText = xDataTable.Rows[i][5] + "";
item.AppendChild(zhuBanDanWei); root.AppendChild(item);
}
}
else
{
XmlNode item = xmlDoc.CreateElement("item");
XmlElement title = xmlDoc.CreateElement("Title");
title.InnerText = xDataTable.Rows[i][1] + "";
item.AppendChild(title);
XmlAttribute xmldate = xmlDoc.CreateAttribute("date");
xmldate.Value = (xDataTable.Rows[i][3] + "").Substring(0,5);
title.Attributes.Append(xmldate);
XmlAttribute xmlchangguan = xmlDoc.CreateAttribute("changguan");
xmlchangguan.Value = xDataTable.Rows[i][4] + "";
title.Attributes.Append(xmlchangguan);
XmlAttribute xmlisImportion = xmlDoc.CreateAttribute("isImportion");
xmlisImportion.Value = "1";
title.Attributes.Append(xmlisImportion); XmlElement jiaBin = xmlDoc.CreateElement("jiaBin");
jiaBin.InnerText = xDataTable.Rows[i][2] + "";
item.AppendChild(jiaBin); XmlElement time = xmlDoc.CreateElement("time");
int index = (xDataTable.Rows[i][3] + "").IndexOf("日");
time.InnerText = (xDataTable.Rows[i][3] + "").Substring(index + 1);
item.AppendChild(time); XmlElement address = xmlDoc.CreateElement("address");
address.InnerText = xDataTable.Rows[i][4] + "";
item.AppendChild(address); XmlElement zhuBanDanWei = xmlDoc.CreateElement("zhuBanDanWei");
zhuBanDanWei.InnerText = xDataTable.Rows[i][5] + "";
item.AppendChild(zhuBanDanWei); root.AppendChild(item);
}
} xmlDoc.Save(xFile);
lblshow.InnerText = "成功";
}
catch (Exception ex)
{
lblshow.InnerText = "失败" + ex.Message + ex.TargetSite;
} }
/// <summary>
/// 导出EXCEL表中的数据到 myDataSet
/// </summary>
public static DataSet GetConnect(string FilePath)
{
DataSet myDataSet = new DataSet();
string strCon = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + FilePath + "; Extended Properties=\"Excel 8.0; HDR=YES; IMEX=1;\"";
if (Path.GetExtension(FilePath).ToLower() == ".xlsx")
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";
OleDbConnection myConn = new OleDbConnection(strCon);
//条件查询EXCEL表
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
//打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
//创建一个 DataSet对象 //得到自己的DataSet对象
myCommand.Fill(myDataSet, "[Sheet1$]");
//关闭此数据链接
myConn.Close();
return myDataSet;
}
xls到xml的更多相关文章
- xls 和 xml 数据 排序 绑定 -原创
xls 和 xml 排序 xml: <?xml version="1.0" encoding="UTF-8"?> <?xml-styleshe ...
- Report_客制化以PLSQL输出XLS标记实现Excel报表(案例)
2015-02-12 Created By BaoXinjian
- Excel和XML文件导入
using System;using System.Collections;using System.Collections.Generic;using System.Configuration;us ...
- xml与Excel转换
使用Python将如下xml格式转换为Excel格式: xml转为xls格式文件: xml格式如下: <?xml version="1.0" encoding="U ...
- PHP导出XML格式的EXCEL
<?php function Export(){ set_time_limit(0); ob_start(); $biz = new ZaikuBiz(); $biz->setSearch ...
- 【原创】开源BI领袖-SpagoBI5.X最详细的中文版介绍
SpagoBI是唯一100%的开源商业智能套件由 Engineering Group的SpagoBI实验室(www.eng.it)开发和管理.它提供了强大的分析能力,从传统的报表和图表功能到自助分析. ...
- 30 个 PHP 的 Excel 处理类
下面的 PHP Excel 处理类中,包含 Excel 读写.导入导出等相关的类,列表如下: PHP Excel Reader classes 1. Read Excel Spreadsheets u ...
- Python应用与实践【转】
转自:http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html 目录 1. Python是什么? 1.1. Pyt ...
- 29 个 PHP 的 Excel 处理类
下面的 PHP Excel 处理类中,包含 Excel 读写.导入导出等相关的类,列表如下: PHP Excel Reader classes 1. Read Excel Spreadsheets u ...
随机推荐
- (转)jmeter接口测试--获取token
Jmeter进行接口测试-提取token 项目一般都需要进行登陆才能进行后续的操作,登陆有时发送的请求会带有token,因此, 需要使用后置处理器中的正则表达式提取token,然后用BeanShell ...
- 用matlab画两个曲面的图
求助!!用matlab画两个曲面的图 这是我写的程序,但是运行不出来,麻烦帮我修改一下,谢谢!!clearallcloseall[x,y]=meshgrid(0:.1:60);z1=(25*y-25* ...
- qt 画多边形(实现鼠标拖动节点)
---恢复内容开始--- 2018-01-06 这个小例子实现了移动鼠标,鼠标的坐标信息跟随鼠标移动,多边形的实现,鼠标点击可以拖动多边形点的位置,(其中有个问题?我在QMainWindow下,用mo ...
- Python练习:小程序,列车出票程序
# 需求:列车某结车厢座位有15行,5列,初始状态均为'有票',当乘客选了座次,下单后,变更为'已售' # 下单时,要显示所有座位的状态(有票or已售) # 下单完毕后,显示下单后的座位状态. lin ...
- HDFS的Java客户端编写
总结: 之前在教材上看hdfs的Java客户端编写,只有关键代码,呵呵…….闲话不说,上正文. 1. Hadoop 的Java客户端编写建议在linux系统上开发 2. 可以使用eclipse,ide ...
- Dataguard配置总结
Dataguard配置总结 本例情形 在主库存在运行的情况下,增加配置dataguard备库,实现双机热备,高可用性. 主库要求,归档模式,强制归档. 主库idty 备库idty_st 1.密码文件 ...
- webpack4 坑收集:html-webpack-plugin在多页面时,无法将optimization.splitChunks提取的公共块,打包到页面中
问题描述: 有2个页面index.html和product.html,用html-webpack-plugin和optimization.splitChunks的基本配置如下 { template: ...
- Hadoop 进程配置总结
HDFS: NameNode: core-site.xml <property> <name>fs.defaultFS</name> <value>hd ...
- js中的数组方法
数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组的原型方法,数组原型方法主要有以下这些: join()push()和pop()shift() 和 unshift()so ...
- 记录es在虚拟机的开启步骤
最近开始接触elasticserach数据库,于是想在虚拟机上装一个练练手,装的时候可是费了好多时间,百度了许多教程,但是教程太多太乱,怕自己容易忘,所以记录一下,但是我主要记录是装好的es数据库如何 ...