DataSet匯出CSV格式(ASP.NET,C#) (轉)
DataSet匯出CSV格式(ASP.NET,C#) (轉)[@more@]
DataSet匯出CSV格式(,)
作者:Not
:notking@hot.com
:nots@sohu.com
本文引用下面的 類庫名稱空間:
System.Data;
System..UI.WebControls;
System.Data;
System..UI.WebControls;
概要
本文解決將DataSet匯出到CSV格式問題、將DataGrid中的資料匯出到CSV格式問題
本文解決將DataSet匯出到CSV格式問題、將DataGrid中的資料匯出到CSV格式問題
匯出DataSet所有的列到CSV格式
遍歷DataSet的Tables
遍歷Table的Rows
遍歷Rows的Columns
遍歷DataSet的Tables
遍歷Table的Rows
遍歷Rows的Columns
程式碼
///
/// 將DataSet匯出成CSV格式
///
/// DataSet
///CSV字串資料
public static string ExportCSV(DataSet ds)
{
string data = "";
//data = ds.DataSetName + "n";
///
/// 將DataSet匯出成CSV格式
///
/// DataSet
///
public static string ExportCSV(DataSet ds)
{
string data = "";
//data = ds.DataSetName + "n";
foreach(DataTable tb in ds.Tables)
{
data += tb.TableName + "n";
{
data += tb.TableName + "n";
//寫出列名
foreach (DataColumn column in tb.Columns)
{
data += column.ColumnName + ",";
}
data += "n";
//寫出資料
foreach (DataRow row in tb.Rows)
{
foreach (DataColumn column in tb.Columns)
{
data += row[column].ToString() + ",";
}
data += "n";
}
data += "n";
}
return data;
}
foreach (DataColumn column in tb.Columns)
{
data += column.ColumnName + ",";
}
data += "n";
//寫出資料
foreach (DataRow row in tb.Rows)
{
foreach (DataColumn column in tb.Columns)
{
data += row[column].ToString() + ",";
}
data += "n";
}
data += "n";
}
return data;
}
DataSet與DataGrid問題
一般情況下我們用DataGrid顯示DataSet時,只顯示我們需要的列,並不顯示DataSet所有的列,所以匯出成CSV格式的時候可能只需要匯出DataGrid中的列。
一般情況下我們用DataGrid顯示DataSet時,只顯示我們需要的列,並不顯示DataSet所有的列,所以匯出成CSV格式的時候可能只需要匯出DataGrid中的列。
本文解決方法:
將DataSet中需要匯出的列做上標記,在匯出時只將有標記的列匯出。
將DataSet中需要匯出的列做上標記,在匯出時只將有標記的列匯出。
程式碼
///
/// 標記DataColumn為接受匯出的
///
/// DataColumn
public static void SetExport(DataColumn column)
{
if (column != null)
{
if (column.ExtendedProperties["IsExport"] == null)
column.ExtendedProperties.Add("IsExport", "true");
else
column.ExtendedProperties["IsExport"] = "true";
}
}
///
/// 標記DataColumn為接受匯出的
///
/// DataColumn
public static void SetExport(DataColumn column)
{
if (column != null)
{
if (column.ExtendedProperties["IsExport"] == null)
column.ExtendedProperties.Add("IsExport", "true");
else
column.ExtendedProperties["IsExport"] = "true";
}
}
///
/// 標記DataTable中的一些列為接受匯出的
///
/// DataTable
/// 列
public static void SetExport(DataTable tb,params string[] columns)
{
foreach(string column in columns)
{
SetExport(tb.Columns[column]);
}
}
/// 標記DataTable中的一些列為接受匯出的
///
/// DataTable
/// 列
public static void SetExport(DataTable tb,params string[] columns)
{
foreach(string column in columns)
{
SetExport(tb.Columns[column]);
}
}
///
/// 標記DataTable中的一些列為接受匯出的
///
/// DataTable
/// DataGrid的列
public static void SetExport(DataTable tb,DataGridColumnCollection columns)
{
foreach(DataGridColumn column in columns)
{
if (column.GetType().Name == "BoundColumn" || column.GetType().Name == "HyinkColumn" || column.GetType().Name == "TemplateColumn")
SetExport(tb.Columns[column.HeaderText]);
}
}
/// 標記DataTable中的一些列為接受匯出的
///
/// DataTable
/// DataGrid的列
public static void SetExport(DataTable tb,DataGridColumnCollection columns)
{
foreach(DataGridColumn column in columns)
{
if (column.GetType().Name == "BoundColumn" || column.GetType().Name == "HyinkColumn" || column.GetType().Name == "TemplateColumn")
SetExport(tb.Columns[column.HeaderText]);
}
}
///
/// 判斷DataColumn是否為接受匯出的
///
/// DataColumn
///bool型的結果
public static bool IsExport(DataColumn column)
{
if (column.ExtendedProperties["IsExport"] != null && column.ExtendedProperties["IsExport"].ToString().Trim().ToLower() == "true")
return true;
else
return false;
}
使用示例:
Export.SetExport(ds.供應商列表檢視,dg.Columns);
/// 判斷DataColumn是否為接受匯出的
///
/// DataColumn
///
public static bool IsExport(DataColumn column)
{
if (column.ExtendedProperties["IsExport"] != null && column.ExtendedProperties["IsExport"].ToString().Trim().ToLower() == "true")
return true;
else
return false;
}
使用示例:
Export.SetExport(ds.供應商列表檢視,dg.Columns);
string data = Export.ExportCSV(ds);
string temp = string.Format("attachment;filename={0}","ExportData.csv");
Response.ClearHeaders();
Response.AppendHeader("Content-disposition", temp);
Response.Write(data);
Response.End();
Response.ClearHeaders();
Response.AppendHeader("Content-disposition", temp);
Response.Write(data);
Response.End();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-996726/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
最新文章
- 可怕的 C# (轉)
- Unify the Role-Based Security Models for Enterprise and Application Domains with .NET (轉)
- Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication (轉)
- [Sample] Playing with music file (轉)
- 中文web-app_2_3.dtd (轉)
- 使用ASP.NET加密口令 (轉)
- C++ Builder 高手進階 (五)用BCB編寫多執行緒應用程式 (轉)
- 24點遊戲探秘系列6:用機率統計的眼光看24點遊戲 (轉)
- Schema-oriented message destination (轉)
- J2EE vs. Microsoft.NET (轉)
相關文章
- php匯出csv格式PHP
- PHP 匯出 CSV 格式檔案PHP
- 匯出資料為csv格式
- oralce 匯出csv格式檔案
- mysql匯入匯出.csv格式資料MySql
- C# 匯出DataTable至csv檔案C#
- MySQL 匯出資料為csv格式的方法MySql
- sqlplus匯出記錄另存為CSV格式SQL
- ASP.NET 開源匯入匯出庫Magicodes.IE 完成Csv匯入匯出ASP.NET
- JavaScript 匯出csvJavaScript
- mysql匯入csv格式檔案MySql
- linux 下MySQL命令列匯出csv檔案格式LinuxMySql命令列
- nodejs 匯出csvNodeJS
- [MySQL Help]MySQL Workbench用csv格式匯出資料亂碼MySql
- java匯出CSV檔案Java
- csv格式怎麼轉換成excel?csv格式轉換成excel格式檔案的方法Excel
- 用 PostgreSQL 的 COPY 匯入匯出 CSVSQL
- vue element ui excel json2csv csv 匯出VueUIExcelJSON
- SQLite3 匯出 CSV 檔案SQLite
- 一次將資料匯出為 CSV 格式檔案時遇到的坑
- Mysql 匯出txt格式MySql
- PHP 匯出大資料 CSV 檔案PHP大資料
- MySQL匯出資料為csv的方法MySql
- Java實現CSV檔案的匯出Java
- Laravel-admin 自定義csv匯出,支援原有匯出csv的所有功能,匯出所有資料使用分頁查詢處理Laravel
- 函式FUN_GET_SPOOL_STRING_LHR的內容--spool匯出csv檔案格式函式
- 使用csv批量匯入、匯出資料的需求處理
- Asp.net 匯出ExcelASP.NETExcel
- ASP.NET Excel匯入和匯出ASP.NETExcel
- 使用PHP原生匯出Excel和CSV檔案PHPExcel
- 批次匯出csv檔案的基本嘗試
- 批量匯出csv檔案的基本嘗試
- oracle 匯出excel 格式整改OracleExcel
- Poi 匯入格式轉換
- asp.net Excel匯出方法ASP.NETExcel
- magento2 後臺資料展示+csv匯出
- 利用跳板機連線mysql,匯出資料到csvMySql
- waterdrop匯出hdfs資料到clickhouse(text,csv,json)JSON