XML,Excel导入导出总结
2007-07-25 11:48
323 查看
xml 导入
public static System.Data.DataTable GetXmlTable(string fileName)
{
System.Data.DataSet dataSetXml;
System.Data.DataTable dataTableXml;
dataSetXml = new DataSet();
dataTableXml = new System.Data.DataTable();
try
{
dataSetXml.ReadXml(fileName);
dataTableXml = dataSetXml.Tables[1];
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return dataTableXml;
}
xml导出
protected void ReadDataSetToXML(DataSet ds, string filePath)
{
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.UTF8);
ds.WriteXml(xtw, XmlWriteMode.IgnoreSchema);
xtw.Close();
fs.Close();
}
Excel导入
public static System.Data.DataTable GetExcelTable(string fileName, int dataStartLine, int nameLine, int columnCount)
{
System.Data.DataTable dtRet = null;
DataRow dr;
Application app = null;
Workbook wb = null;
Worksheet ws;
Range range;
object objMiss = null;
int iRow;
StringBuilder sbTemp;
string sTemp = string.Empty;
Console.WriteLine(DateTime.Now.ToLongTimeString() + " 正在读取Excel数据");
objMiss = System.Reflection.Missing.Value;
try
{
sbTemp = new StringBuilder();
dtRet = new System.Data.DataTable();
app = new Application();
app.DisplayAlerts = false;
app.Visible = false;
wb = app.Workbooks.Open(fileName, 1, true, objMiss, objMiss, objMiss, objMiss,
objMiss, objMiss, objMiss, objMiss, objMiss, objMiss, objMiss, objMiss);
ws = (Worksheet)wb.Sheets[1];
for (int i = 1; i <= columnCount; i++)
{
range = (Range)ws.get_Range(num2Char(i) + nameLine, objMiss);
if (range.Formula.ToString().Length > 0)
{
dtRet.Columns.Add(range.Formula.ToString().Trim(), typeof(string));
}
else
{
columnCount--;
i--;
}
}
iRow = dataStartLine;
while (true)
{
dr = dtRet.NewRow();
sbTemp.Length = 0;
for (int i = 1; i <= columnCount; i++)
{
range = (Range)ws.get_Range(num2Char(i) + iRow, objMiss);
try
{
sTemp = range.Formula.ToString();
}
catch (System.Runtime.InteropServices.COMException)
{
sTemp = string.Empty;
}
sbTemp.Append(sTemp);
dr[i - 1] = sTemp;
}
if (sbTemp.Length > 0)
{
dtRet.Rows.Add(dr);
iRow++;
}
else
{
break;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
wb.Close(false, objMiss, objMiss);
app.Quit();
app = null;
}
Console.WriteLine(DateTime.Now.ToLongTimeString() + " Excel数据读取完毕");
return dtRet;
}
Excel导出
protected void ExportOfExcel()
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Publisher.xls");
Response.ContentEncoding = System.Text.Encoding.UTF7;
// Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
//设置输出文件类型为excel文件。
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
Access,FoxPro等导入
private static System.Data.DataTable getOleDbTable(string tableName, string fileName, string connString)
{
OleDbDataAdapter oda;
string sql;
System.Data.DataTable dtRet = new System.Data.DataTable();
sql = "select * from " + tableName;
oda = new OleDbDataAdapter(sql, connString);
oda.Fill(dtRet);
return dtRet;
}
public static System.Data.DataTable GetXmlTable(string fileName)
{
System.Data.DataSet dataSetXml;
System.Data.DataTable dataTableXml;
dataSetXml = new DataSet();
dataTableXml = new System.Data.DataTable();
try
{
dataSetXml.ReadXml(fileName);
dataTableXml = dataSetXml.Tables[1];
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return dataTableXml;
}
xml导出
protected void ReadDataSetToXML(DataSet ds, string filePath)
{
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.UTF8);
ds.WriteXml(xtw, XmlWriteMode.IgnoreSchema);
xtw.Close();
fs.Close();
}
Excel导入
public static System.Data.DataTable GetExcelTable(string fileName, int dataStartLine, int nameLine, int columnCount)
{
System.Data.DataTable dtRet = null;
DataRow dr;
Application app = null;
Workbook wb = null;
Worksheet ws;
Range range;
object objMiss = null;
int iRow;
StringBuilder sbTemp;
string sTemp = string.Empty;
Console.WriteLine(DateTime.Now.ToLongTimeString() + " 正在读取Excel数据");
objMiss = System.Reflection.Missing.Value;
try
{
sbTemp = new StringBuilder();
dtRet = new System.Data.DataTable();
app = new Application();
app.DisplayAlerts = false;
app.Visible = false;
wb = app.Workbooks.Open(fileName, 1, true, objMiss, objMiss, objMiss, objMiss,
objMiss, objMiss, objMiss, objMiss, objMiss, objMiss, objMiss, objMiss);
ws = (Worksheet)wb.Sheets[1];
for (int i = 1; i <= columnCount; i++)
{
range = (Range)ws.get_Range(num2Char(i) + nameLine, objMiss);
if (range.Formula.ToString().Length > 0)
{
dtRet.Columns.Add(range.Formula.ToString().Trim(), typeof(string));
}
else
{
columnCount--;
i--;
}
}
iRow = dataStartLine;
while (true)
{
dr = dtRet.NewRow();
sbTemp.Length = 0;
for (int i = 1; i <= columnCount; i++)
{
range = (Range)ws.get_Range(num2Char(i) + iRow, objMiss);
try
{
sTemp = range.Formula.ToString();
}
catch (System.Runtime.InteropServices.COMException)
{
sTemp = string.Empty;
}
sbTemp.Append(sTemp);
dr[i - 1] = sTemp;
}
if (sbTemp.Length > 0)
{
dtRet.Rows.Add(dr);
iRow++;
}
else
{
break;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
wb.Close(false, objMiss, objMiss);
app.Quit();
app = null;
}
Console.WriteLine(DateTime.Now.ToLongTimeString() + " Excel数据读取完毕");
return dtRet;
}
Excel导出
protected void ExportOfExcel()
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Publisher.xls");
Response.ContentEncoding = System.Text.Encoding.UTF7;
// Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
//设置输出文件类型为excel文件。
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
Access,FoxPro等导入
private static System.Data.DataTable getOleDbTable(string tableName, string fileName, string connString)
{
OleDbDataAdapter oda;
string sql;
System.Data.DataTable dtRet = new System.Data.DataTable();
sql = "select * from " + tableName;
oda = new OleDbDataAdapter(sql, connString);
oda.Fill(dtRet);
return dtRet;
}
相关文章推荐
- Java基础学习总结(49)——Excel导入导出工具类
- java Excel导入导出,基于XML的实现,easy-excel使用
- ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
- 导出xml,excel文件,导入excel文件
- 总结个比较简单 易懂的 导入导出 Excel,Word
- 超实用的PHPExcel[导入][导出]实现方法总结
- jxl 依据xml映射配置 导入导出excel(2)
- excel导入导出用例设计总结
- java Excel导入导出,基于XML的实现,easy-excel使用
- 总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- Excel开发总结:关于C#导入导出excel的那些琐事
- c# DataTable 针对xml、excel、csv导入和导出
- Java基础学习总结(49)——Excel导入导出工具类
- .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法)
- 项目开发过程中对excel导入导出操作的总结
- jxl 依据xml映射配置 导入导出excel (1)
- Excel文件导入导出实战(3)-xml模板文件的上传下载
- 超实用的PHPExcel[导入][导出]实现方法总结
- c# DataTable针对xml、excel、csv导入和导出
- java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)