dataGridview导入导出txt 怎样从datagridview中导入导出txt文件?请哪位给贴一些代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 excel就有 private void ReportNMTVPgmModDetail() ...{ //创建一个Excel 应用程序类,是通过一个接口来创建的 _Application app = new Excel.ApplicationClass(); try ...{ //获得工作薄的集合 Workbooks workbooks = app.Workbooks; //添加一个工作薄采用缺省参数 Workbook workbook = workbooks.Add(Missing.Value); //获得第一个SHEET页 Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; string fileName = "节目单模版明细列表_" + DateTime.Now.ToShortDateString().Replace("-", "") + "_" + DateTime.Now.ToShortTimeString().Replace(":", ""); int columnCount = dgvProgram.ColumnCount; int rowCount = dgvProgram.Rows.Count; worksheet.Cells[1, 1] = "编号"; for (int i = 1; i < columnCount; i++) ...{ worksheet.Cells[1, i + 1] = dgvProgram.Columns[i].HeaderText; } System.Data.DataTable tablePMD = (System.Data.DataTable)dgvProgram.DataSource; int rowIndex = 1; DataRow tempDR; //worksheet.Cells[rowIndex + 1, 1] = tablePMD.Rows[0][0].ToString(); **Test for (int i = 0; i < rowCount; i++) ...{ worksheet.Cells[rowIndex + 1, 1] = tablePMD.Rows[i][0].ToString(); for (int j = 1; j < columnCount; j++) ...{ worksheet.Cells[rowIndex + 1, j + 1] = dgvProgram.Rows[i].Cells[j].Value; } rowIndex++; } //保存Excel,第一个参数是保存的Excel文件,带路径。后面的参数都采用反射的缺省值 //Missing.Value ,要引用using System.Reflection; worksheet.SaveAs("C:\Documents and Settings\heyuming\桌面\Excel\" + fileName + ".xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); workbooks.Close(); MessageBox.Show("文件导出成功"); } catch ...{ throw new Exception("文件导出失败"); } finally ...{ app.UserControl = false; app.Quit(); } } 简单处理模式:将DataGridView中数据行依格式字符依次追加入 Text文件! 下面是一个DataGridView数据导出至Excel文件的方法,希望对你有所帮助! /// <summary> /// 从DataGridView导出数据至EXCEL /// </summary> /// <param name="dgv"></param> /// <returns></returns> public static bool ExportDataToExcelFile(DataGridView dgv) { try { //Select Excel File SaveFileDialog saveFileDlg = new SaveFileDialog(); saveFileDlg.InitialDirectory = "c:\\"; saveFileDlg.Filter = "Excel files (*.xls)|*.xls"; saveFileDlg.FilterIndex = 2; saveFileDlg.RestoreDirectory = true; if (saveFileDlg.ShowDialog() != DialogResult.OK) return false; //Create OleDbConn string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + saveFileDlg.FileName + ";" + "Extended Properties=\"Excel 5.0;HDR=YES\""; OleDbConnection OleDbConn = new OleDbConnection(); OleDbConn.ConnectionString = connStr; OleDbConn.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = OleDbConn; //Create Table Of Excel string createTableStr = "Create Table [DGV_DATA]("; int i, j, k; for (i = 0; i < dgv.ColumnCount - 1; i++) { createTableStr += dgv.Columns[i].HeaderText + " text,"; } createTableStr += dgv.Columns[i].HeaderText + " text)"; cmd.CommandText = createTableStr; cmd.ExecuteNonQuery(); //Save Data To Excel File string insertStr = ""; for (j = 0; j < dgv.RowCount; j++) { insertStr = "INSERT INTO [DGV_DATA$] values('"; for (k = 0; k < dgv.ColumnCount - 1; k++) { insertStr += dgv.Rows[j].Cells[k].Value.ToString() + "','"; } insertStr += dgv.Rows[j].Cells[k].Value.ToString() + "')"; cmd.CommandText = insertStr; cmd.ExecuteNonQuery(); } //Close OleDbConn OleDbConn.Close(); } catch (Exception Ex) { MessageBox.Show(Ex.Message); return false; } return true; } 各位,excel的表格我这里可能不好用,必须用txt,导入导出到DataGridView中,希望能继续关注这个帖子! 兄弟看看这个这里面很详细http://www.gz183.com.cn/Info/28/info30319_1.htm 导入情况下,excel和txt原理差不多,都是把字段一个个读出来,然后组成sql语句插入导出么,excel有一个很简单的方法,代码不多,在网上搜下,好像是通过gridview导出的,代码很少,可以Google下 导入txt的代码如下,思路是按照字节数去字段StreamReader objreader = new StreamReader(filepath, Encoding.Default); string sline = ""; //将数据文件中的内容按行读出来, ArrayList arrtext = new ArrayList(); while (sline != null) { sline = objreader.ReadLine(); if (sline != null) arrtext.Add(sline); } objreader.Close(); string orlcon = "Data Source=fapdb;Persist Security Info=True;User ID=fapdb;password=fapdb;Unicode=True"; OracleConnection ocon = new OracleConnection(orlcon); ocon.Open(); OracleTransaction oratran = ocon.BeginTransaction();//开始一个事物 try { Console.WriteLine("正在导入......"); for (int i = 0; i < arrtext.Count; i++) { string s = arrtext[i].ToString(); if (s.Length != 0) { byte[] bytes = System.Text.Encoding.Default.GetBytes(s.ToString()); string seq_no = System.Text.Encoding.Default.GetString(bytes, 0, 10).Trim(); string tran_req_brch = System.Text.Encoding.Default.GetString(bytes, 11, 10).Trim(); string tran_time = System.Text.Encoding.Default.GetString(bytes, 22, 10).Trim(); string card_no1 = System.Text.Encoding.Default.GetString(bytes, 33, 19).Trim(); string card_no2 = System.Text.Encoding.Default.GetString(bytes, 53, 19).Trim(); string cert_no = System.Text.Encoding.Default.GetString(bytes, 73, 30).Trim(); string unit_seqno = System.Text.Encoding.Default.GetString(bytes, 104, 30).Trim(); string cert_kind = System.Text.Encoding.Default.GetString(bytes, 135, 2).Trim(); string curr_kind = System.Text.Encoding.Default.GetString(bytes, 138, 2).Trim(); string amt1 = System.Text.Encoding.Default.GetString(bytes, 141, 13).Trim(); string date_ctrl = System.Text.Encoding.Default.GetString(bytes, 155, 10).Trim(); string accr_beg_date = System.Text.Encoding.Default.GetString(bytes, 166, 10).Trim(); string acct_no2 = System.Text.Encoding.Default.GetString(bytes, 177, 19).Trim(); string cstm_name = System.Text.Encoding.Default.GetString(bytes, 197, 16).Trim(); string card_flag = System.Text.Encoding.Default.GetString(bytes, 214, 2).Trim(); //string acct_flag = System.Text.Encoding.Default.GetString(bytes, 217, 2).Trim(); string vouc_no = System.Text.Encoding.Default.GetString(bytes, 217, 20).Trim(); string fsbz = System.Text.Encoding.Default.GetString(bytes, 238, 2).Trim(); string vouc_kind = System.Text.Encoding.Default.GetString(bytes, 241, 1).Trim(); string insert = " insert into t_trans_zz values("; insert += "'" + seq_no + "','" + tran_req_brch + "','" + tran_time + "','" + card_no1 + "','" + card_no2 + "','" + cert_no + "','" + unit_seqno + "','" + cert_kind + "','" + curr_kind + "','" + amt1 + "','" + date_ctrl + "'"; insert += ",'" + accr_beg_date + "','" + acct_no2 + "','" + cstm_name + "','" + card_flag + "','" + vouc_no + "','" + fsbz + "','" + vouc_kind + "')"; OracleCommand com = new OracleCommand(insert, ocon); com.Transaction = oratran; int intnum = i + 1; num = intnum; com.ExecuteNonQuery(); 导出:把每个单元格值逐个取出,用'\t'和'\r\n'分隔开,再写入txt文件导入:相反 //导出到txt//strFileName文件名,strSplit文件中数据间的分隔符public static bool DataTableToTxt(DataGridView gridview, string strFileName, char strSplit) { if (gridview == null||gridview.Rows.Count==0) return false; FileStream fileStream = new FileStream(strFileName, FileMode.OpenOrCreate); StreamWriter streamWriter = new StreamWriter(fileStream, System.Text.Encoding.Unicode); StringBuilder strBuilder = new StringBuilder(); try { for (int i = 0; i < gridview.Rows.Count; i++) { strBuilder = new StringBuilder(); for (int j = 0; j < gridview.Columns.Count; j++) { strBuilder.Append(gridview.Rows[i].Cells[j].Value.ToString() + strSplit); } strBuilder.Remove(strBuilder.Length - 1, 1); streamWriter.WriteLine(strBuilder.ToString()); } } catch(Exception ex) { string strErrorMessage = ex.Message; return false; } finally { streamWriter.Close(); fileStream.Close(); } return true; } txt导入到dataTable /// <summary> /// 将Txt中数据读入DataTable中 /// </summary> /// <param name="strFileName">文件名称</param> /// <param name="isHead">是否包含表头</param> /// <param name="strSplit">分隔符</param> /// <param name="strErrorMessage">错误信息</param> /// <returns>DataTable</returns> public static DataTable TxtToDataTable(string strFileName, char strSplit, ref string strErrorMessage) { DataTable dtReturn = new DataTable(); try { string[] strFileTexts = File.ReadAllLines(strFileName); if (strFileTexts.Length == 0) { strErrorMessage = "文件中没有数据!"; return null; } string[] strLineTexts = strFileTexts[0].Split(strSplit); if (strLineTexts.Length == 0) { strErrorMessage = "文件中数据格式不正确!"; return null; } for (int i = 0; i < strLineTexts.Length; i++) { dtReturn.Columns.Add("Columns" + i.ToString()); } for (int i = 0; i < strFileTexts.Length; i++) { strLineTexts = strFileTexts[i].Split(strSplit); DataRow dr = dtReturn.NewRow(); for (int j = 0; j < strLineTexts.Length; j++) { dr[j] = strLineTexts[j].ToString(); } dtReturn.Rows.Add(dr); } } catch(Exception ex) { strErrorMessage = "读入数据出错!"+ex.Message ; return null; } return dtReturn; } private void button1_Click_1(object sender, EventArgs e) { Stream myStream; StreamWriter sw; string tempStr = ""; try { if (this.dataGridView1.Rows.Count > 0) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Text files (*.txt)|*.txt"; sfd.FilterIndex = 0; sfd.RestoreDirectory = true; sfd.CreatePrompt = true; sfd.Title = "Export Txt File to... "; DateTime now = DateTime.Now; sfd.FileName = now.Year.ToString().PadLeft(2) /* 年 */ + now.Month.ToString().PadLeft(2, '0') /* 月 */ + now.Day.ToString().PadLeft(2, '0') + "-" /* 日 */ + now.Hour.ToString().PadLeft(2, '0') /* 时 */ + now.Minute.ToString().PadLeft(2, '0') /* 分 */ + now.Second.ToString().PadLeft(2, '0'); /* 秒 */ sfd.ShowDialog(); myStream = sfd.OpenFile(); sw = new StreamWriter(myStream,System.Text.Encoding.GetEncoding("gb2312") ); string str = ""; //写标题 for (int i = 0; i < this.dataGridView1.ColumnCount; i++) { if (i > 0) { str += "\t"; } str += this.dataGridView1.Columns[i].HeaderText; } sw.WriteLine(str); progressBar1.Maximum = dataGridView1.Rows.Count; progressBar1.Value = 0; //写内容 for (int j = 0; j < this.dataGridView1.Rows.Count; j++) { for (int k = 0; k < this.dataGridView1.Columns.Count; k++) { if (k > 0) { tempStr += "\t"; } if (this.dataGridView1.Rows[j].Cells[k].Value == null) { tempStr += this.dataGridView1.Rows[j].Cells[k].Value; } else { tempStr += this.dataGridView1.Rows[j].Cells[k].Value.ToString(); } if (progressBar1.Value >= dataGridView1.Rows.Count - 1) { progressBar1.Value = dataGridView1.Rows.Count - 1; } else progressBar1.Value += 1; } sw.WriteLine(tempStr); tempStr = ""; } sw.Close(); myStream.Close(); if (tempStr != String.Empty) { MessageBox.Show("the data succeed of Export", "information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("nothing data export", "information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception) { MessageBox.Show("error", "Error information", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { //sw.Close(); //myStream.Close(); } } 做一个string[],把datagridview的值放入到string[],再把string[]直接写入到txt文件,你可以用tab分开,也可以使用 “,”做为分隔符 this.Cursor = Cursors.WaitCursor; string filename = "C:\\Documents and Settings\\Administrator\\桌面\\CST.txt"; FileStream sr = File.Open(filename, FileMode.Create); StreamWriter sw = new StreamWriter(sr, System.Text.Encoding.Unicode); StringBuilder strBuilder = new StringBuilder(); try { for (int i = 0; i < dataGridView1.Rows.Count-1; i++) { strBuilder = new StringBuilder(); for (int j = 0; j < dataGridView1.Columns.Count; j++) { strBuilder.Append(dataGridView1.Rows[i].Cells[j].Value.ToString() + ' '); } strBuilder.Remove(strBuilder.Length - 1, 1); sw.WriteLine(strBuilder.ToString()); } System.Diagnostics.Process.Start("notepad.exe ", "C:\\Documents and Settings\\Administrator\\桌面\\CST.txt"); this.Cursor = Cursors.Default; } catch (Exception ex) { MessageBox.Show("000"); } finally { sw.Close(); sr.Close(); } C#导入 excel 身份证 出乱码 如何解决 急急急! C#最小化窗体问题,麻烦大家了。 C# 中控件随窗体变化而变化 字符编码问题 用C#做登录按钮,数据库验证不正确 dev中gridview的RepositoryItemPopupContainerEdit new SqlParameter("@UserId", order.User.Id) 这种是什么用法啊?能行? c#中的文本框如何实现自动完成功能,要求数据库是其数据源 在单例模式的类中是否不能实例化对象? 如何使用rtti,我怎么鉴定一个formDerived为form? 求一个正则,分送上。速度结贴 全局变量问题
private void ReportNMTVPgmModDetail()
...{
//创建一个Excel 应用程序类,是通过一个接口来创建的
_Application app = new Excel.ApplicationClass();
try
...{
//获得工作薄的集合
Workbooks workbooks = app.Workbooks;
//添加一个工作薄采用缺省参数
Workbook workbook = workbooks.Add(Missing.Value);
//获得第一个SHEET页
Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; string fileName = "节目单模版明细列表_"
+ DateTime.Now.ToShortDateString().Replace("-", "")
+ "_"
+ DateTime.Now.ToShortTimeString().Replace(":", ""); int columnCount = dgvProgram.ColumnCount;
int rowCount = dgvProgram.Rows.Count;
worksheet.Cells[1, 1] = "编号";
for (int i = 1; i < columnCount; i++)
...{
worksheet.Cells[1, i + 1] = dgvProgram.Columns[i].HeaderText;
} System.Data.DataTable tablePMD = (System.Data.DataTable)dgvProgram.DataSource;
int rowIndex = 1;
DataRow tempDR; //worksheet.Cells[rowIndex + 1, 1] = tablePMD.Rows[0][0].ToString(); **Test
for (int i = 0; i < rowCount; i++)
...{
worksheet.Cells[rowIndex + 1, 1] = tablePMD.Rows[i][0].ToString();
for (int j = 1; j < columnCount; j++)
...{
worksheet.Cells[rowIndex + 1, j + 1] = dgvProgram.Rows[i].Cells[j].Value;
}
rowIndex++;
} //保存Excel,第一个参数是保存的Excel文件,带路径。后面的参数都采用反射的缺省值
//Missing.Value ,要引用using System.Reflection;
worksheet.SaveAs("C:\Documents and Settings\heyuming\桌面\Excel\" + fileName + ".xls",
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value); workbooks.Close();
MessageBox.Show("文件导出成功");
}
catch
...{
throw new Exception("文件导出失败");
}
finally
...{
app.UserControl = false;
app.Quit();
}
}
下面是一个DataGridView数据导出至Excel文件的方法,希望对你有所帮助! /// <summary>
/// 从DataGridView导出数据至EXCEL
/// </summary>
/// <param name="dgv"></param>
/// <returns></returns>
public static bool ExportDataToExcelFile(DataGridView dgv)
{
try
{
//Select Excel File
SaveFileDialog saveFileDlg = new SaveFileDialog(); saveFileDlg.InitialDirectory = "c:\\";
saveFileDlg.Filter = "Excel files (*.xls)|*.xls";
saveFileDlg.FilterIndex = 2;
saveFileDlg.RestoreDirectory = true; if (saveFileDlg.ShowDialog() != DialogResult.OK)
return false; //Create OleDbConn
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=" + saveFileDlg.FileName + ";"
+ "Extended Properties=\"Excel 5.0;HDR=YES\"";
OleDbConnection OleDbConn = new OleDbConnection();
OleDbConn.ConnectionString = connStr;
OleDbConn.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = OleDbConn; //Create Table Of Excel
string createTableStr = "Create Table [DGV_DATA](";
int i, j, k;
for (i = 0; i < dgv.ColumnCount - 1; i++)
{
createTableStr += dgv.Columns[i].HeaderText + " text,";
}
createTableStr += dgv.Columns[i].HeaderText + " text)"; cmd.CommandText = createTableStr;
cmd.ExecuteNonQuery(); //Save Data To Excel File
string insertStr = "";
for (j = 0; j < dgv.RowCount; j++)
{
insertStr = "INSERT INTO [DGV_DATA$] values('";
for (k = 0; k < dgv.ColumnCount - 1; k++)
{
insertStr += dgv.Rows[j].Cells[k].Value.ToString() + "','";
}
insertStr += dgv.Rows[j].Cells[k].Value.ToString() + "')"; cmd.CommandText = insertStr;
cmd.ExecuteNonQuery();
} //Close OleDbConn
OleDbConn.Close();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
return false;
} return true;
}
这里面很详细http://www.gz183.com.cn/Info/28/info30319_1.htm
导出么,excel有一个很简单的方法,代码不多,在网上搜下,好像是通过gridview导出的,代码很少,可以Google下
StreamReader objreader = new StreamReader(filepath, Encoding.Default);
string sline = ""; //将数据文件中的内容按行读出来,
ArrayList arrtext = new ArrayList();
while (sline != null)
{
sline = objreader.ReadLine();
if (sline != null)
arrtext.Add(sline);
}
objreader.Close();
string orlcon = "Data Source=fapdb;Persist Security Info=True;User ID=fapdb;password=fapdb;Unicode=True";
OracleConnection ocon = new OracleConnection(orlcon);
ocon.Open();
OracleTransaction oratran = ocon.BeginTransaction();//开始一个事物
try
{
Console.WriteLine("正在导入......");
for (int i = 0; i < arrtext.Count; i++)
{
string s = arrtext[i].ToString();
if (s.Length != 0)
{
byte[] bytes = System.Text.Encoding.Default.GetBytes(s.ToString());
string seq_no = System.Text.Encoding.Default.GetString(bytes, 0, 10).Trim();
string tran_req_brch = System.Text.Encoding.Default.GetString(bytes, 11, 10).Trim();
string tran_time = System.Text.Encoding.Default.GetString(bytes, 22, 10).Trim();
string card_no1 = System.Text.Encoding.Default.GetString(bytes, 33, 19).Trim();
string card_no2 = System.Text.Encoding.Default.GetString(bytes, 53, 19).Trim();
string cert_no = System.Text.Encoding.Default.GetString(bytes, 73, 30).Trim();
string unit_seqno = System.Text.Encoding.Default.GetString(bytes, 104, 30).Trim();
string cert_kind = System.Text.Encoding.Default.GetString(bytes, 135, 2).Trim();
string curr_kind = System.Text.Encoding.Default.GetString(bytes, 138, 2).Trim();
string amt1 = System.Text.Encoding.Default.GetString(bytes, 141, 13).Trim();
string date_ctrl = System.Text.Encoding.Default.GetString(bytes, 155, 10).Trim();
string accr_beg_date = System.Text.Encoding.Default.GetString(bytes, 166, 10).Trim();
string acct_no2 = System.Text.Encoding.Default.GetString(bytes, 177, 19).Trim();
string cstm_name = System.Text.Encoding.Default.GetString(bytes, 197, 16).Trim();
string card_flag = System.Text.Encoding.Default.GetString(bytes, 214, 2).Trim();
//string acct_flag = System.Text.Encoding.Default.GetString(bytes, 217, 2).Trim();
string vouc_no = System.Text.Encoding.Default.GetString(bytes, 217, 20).Trim();
string fsbz = System.Text.Encoding.Default.GetString(bytes, 238, 2).Trim();
string vouc_kind = System.Text.Encoding.Default.GetString(bytes, 241, 1).Trim();
string insert = " insert into t_trans_zz values(";
insert += "'" + seq_no + "','" + tran_req_brch + "','" + tran_time + "','" + card_no1 + "','" + card_no2 + "','" + cert_no + "','" + unit_seqno + "','" + cert_kind + "','" + curr_kind + "','" + amt1 + "','" + date_ctrl + "'";
insert += ",'" + accr_beg_date + "','" + acct_no2 + "','" + cstm_name + "','" + card_flag + "','" + vouc_no + "','" + fsbz + "','" + vouc_kind + "')";
OracleCommand com = new OracleCommand(insert, ocon);
com.Transaction = oratran;
int intnum = i + 1;
num = intnum;
com.ExecuteNonQuery();
导入:相反
//strFileName文件名,strSplit文件中数据间的分隔符
public static bool DataTableToTxt(DataGridView gridview, string strFileName, char strSplit)
{
if (gridview == null||gridview.Rows.Count==0)
return false; FileStream fileStream = new FileStream(strFileName, FileMode.OpenOrCreate);
StreamWriter streamWriter = new StreamWriter(fileStream, System.Text.Encoding.Unicode); StringBuilder strBuilder = new StringBuilder(); try
{
for (int i = 0; i < gridview.Rows.Count; i++)
{
strBuilder = new StringBuilder();
for (int j = 0; j < gridview.Columns.Count; j++)
{
strBuilder.Append(gridview.Rows[i].Cells[j].Value.ToString() + strSplit);
}
strBuilder.Remove(strBuilder.Length - 1, 1);
streamWriter.WriteLine(strBuilder.ToString());
}
}
catch(Exception ex)
{
string strErrorMessage = ex.Message;
return false;
}
finally
{
streamWriter.Close();
fileStream.Close();
} return true;
}
/// <summary>
/// 将Txt中数据读入DataTable中
/// </summary>
/// <param name="strFileName">文件名称</param>
/// <param name="isHead">是否包含表头</param>
/// <param name="strSplit">分隔符</param>
/// <param name="strErrorMessage">错误信息</param>
/// <returns>DataTable</returns>
public static DataTable TxtToDataTable(string strFileName, char strSplit, ref string strErrorMessage)
{
DataTable dtReturn = new DataTable(); try
{
string[] strFileTexts = File.ReadAllLines(strFileName); if (strFileTexts.Length == 0)
{
strErrorMessage = "文件中没有数据!";
return null;
} string[] strLineTexts = strFileTexts[0].Split(strSplit);
if (strLineTexts.Length == 0)
{
strErrorMessage = "文件中数据格式不正确!";
return null;
}
for (int i = 0; i < strLineTexts.Length; i++)
{
dtReturn.Columns.Add("Columns" + i.ToString());
} for (int i = 0; i < strFileTexts.Length; i++)
{
strLineTexts = strFileTexts[i].Split(strSplit);
DataRow dr = dtReturn.NewRow();
for (int j = 0; j < strLineTexts.Length; j++)
{
dr[j] = strLineTexts[j].ToString();
}
dtReturn.Rows.Add(dr);
}
}
catch(Exception ex)
{
strErrorMessage = "读入数据出错!"+ex.Message ;
return null;
} return dtReturn;
}
{
Stream myStream;
StreamWriter sw;
string tempStr = "";
try
{ if (this.dataGridView1.Rows.Count > 0)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text files (*.txt)|*.txt";
sfd.FilterIndex = 0;
sfd.RestoreDirectory = true;
sfd.CreatePrompt = true;
sfd.Title = "Export Txt File to... "; DateTime now = DateTime.Now;
sfd.FileName = now.Year.ToString().PadLeft(2) /* 年 */
+ now.Month.ToString().PadLeft(2, '0') /* 月 */
+ now.Day.ToString().PadLeft(2, '0') + "-" /* 日 */
+ now.Hour.ToString().PadLeft(2, '0') /* 时 */
+ now.Minute.ToString().PadLeft(2, '0') /* 分 */
+ now.Second.ToString().PadLeft(2, '0'); /* 秒 */ sfd.ShowDialog(); myStream = sfd.OpenFile();
sw = new StreamWriter(myStream,System.Text.Encoding.GetEncoding("gb2312") );
string str = ""; //写标题
for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
{
if (i > 0)
{
str += "\t";
}
str += this.dataGridView1.Columns[i].HeaderText;
}
sw.WriteLine(str);
progressBar1.Maximum = dataGridView1.Rows.Count;
progressBar1.Value = 0;
//写内容
for (int j = 0; j < this.dataGridView1.Rows.Count; j++)
{
for (int k = 0; k < this.dataGridView1.Columns.Count; k++)
{
if (k > 0)
{
tempStr += "\t";
}
if (this.dataGridView1.Rows[j].Cells[k].Value == null)
{
tempStr += this.dataGridView1.Rows[j].Cells[k].Value;
}
else
{
tempStr += this.dataGridView1.Rows[j].Cells[k].Value.ToString();
}
if (progressBar1.Value >= dataGridView1.Rows.Count - 1)
{
progressBar1.Value = dataGridView1.Rows.Count - 1;
}
else progressBar1.Value += 1; }
sw.WriteLine(tempStr);
tempStr = "";
} sw.Close();
myStream.Close(); if (tempStr != String.Empty)
{
MessageBox.Show("the data succeed of Export", "information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("nothing data export", "information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception)
{
MessageBox.Show("error", "Error information", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
//sw.Close();
//myStream.Close();
} }
string filename = "C:\\Documents and Settings\\Administrator\\桌面\\CST.txt";
FileStream sr = File.Open(filename, FileMode.Create); StreamWriter sw = new StreamWriter(sr, System.Text.Encoding.Unicode);
StringBuilder strBuilder = new StringBuilder();
try
{
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
strBuilder = new StringBuilder();
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
strBuilder.Append(dataGridView1.Rows[i].Cells[j].Value.ToString() + ' ');
}
strBuilder.Remove(strBuilder.Length - 1, 1);
sw.WriteLine(strBuilder.ToString());
} System.Diagnostics.Process.Start("notepad.exe ", "C:\\Documents and Settings\\Administrator\\桌面\\CST.txt");
this.Cursor = Cursors.Default;
}
catch (Exception ex)
{
MessageBox.Show("000");
}
finally
{
sw.Close();
sr.Close();
}