exportdata.cs

来自「列车时刻查询Visual Studio 2005 + sql2005」· CS 代码 · 共 97 行

CS
97
字号
using System;
using System.IO;
using System.Windows.Forms;
using System.Data;
using System.Text;
namespace train
{
	/// <summary>
	/// ExportData:导出数据
	/// </summary>
	public class ExportData
	{
		private DataTable table;
		private DataSet ds;
		public ExportData()
		{
			table=new DataTable();
			ds=new DataSet();
		}
		/// <summary>
		/// 导出文本文件
		/// </summary>
		/// <param name="printtable">包含要导出数据的DataTable</param>
		/// <returns>返回一个bool值指示导出是否成功</returns>
		public bool Export(DataTable printtable)
		{
			table=printtable;
			SaveFileDialog dialog=new SaveFileDialog();
			dialog.Filter="文本文件|*.txt";
			dialog.ShowDialog();
			string path=dialog.FileName;
			if(path.Length==0)
			{
				return false;
			}
			StreamWriter writer=new StreamWriter(@path,false,Encoding.UTF8,128);
			try
			{
				for(int i=0;i<table.Columns.Count;i++)
				{
					writer.Write(table.Columns[i].ColumnName+"\t\t");
				}
				writer.WriteLine("");
				for(int i=0;i<table.Rows.Count;i++)
				{
					for(int j=0;j<table.Columns.Count;j++)
					{
						writer.Write(table.Rows[i][j].ToString()+"\t\t");
					}
					writer.WriteLine("");
				}
				return true;
			}
			catch(Exception e)
			{
				Console.WriteLine(e);
				return false;
			}
			finally
			{
				writer.Flush();
				writer.Close();
			}
		}
		/// <summary>
		/// 导出XML文件
		/// </summary>
		/// <param name="printtable">包含要到处数据的DataTable</param>
		/// <returns>返回一个bool值指示导出是否成功</returns>
		public bool exportXml(DataTable printtable)
		{
			ds.Tables.Add(printtable);
			SaveFileDialog dialog=new SaveFileDialog();
			dialog.Filter="XML文件|*.xml";
			dialog.ShowDialog();
			string path=dialog.FileName;
			if(path.Length==0)
			{
				return false;
			}
			try
			{
				ds.WriteXml(@path,XmlWriteMode.WriteSchema);
				return true;
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message);
				return false;
			}
			
		}

		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?