怎样将数据库查询出来的数据写入.txt文件中

时间:2023-01-10 18:22:45
怎样将数据库查询出来的数据写入.txt文件中,
dataset如何写入文本文件

4 个解决方案

#1


建议使用WriteXml。而不是简单的纯文本文件

参考
http://msdn.microsoft.com/en-US/library/hb27k0tf(v=VS.80).aspx

#2


引用楼主 lvyhong 的回复:
怎样将数据库查询出来的数据写入.txt文件中,
dataset如何写入文本文件


给你参考一下,自己改改。

public void DoExportTXT(UltraGrid ultraGrid, string filename)
        {
            try
            {
                #region 获取文件名
                if (filename.Length == 0)
                {
                    SaveFileDialog fs = new SaveFileDialog();
                    fs.Filter = "TXT(*.txt)|*.txt";
                    if (fs.ShowDialog() == DialogResult.OK)
                    {
                        filename = fs.FileName;
                    }
                    else
                    {
                        return;
                    }
                }
                #endregion

                ////
                #region 导出TXT
                string strLine = "";
                if (ultraGrid.Rows.GetAllNonGroupByRows().Length < 1)
                {
                    MessageBox.Show("没有数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    this.Cursor = Cursors.WaitCursor;
                    FileStream sr = File.Open(filename, FileMode.Create);
                    StreamWriter sw = new StreamWriter(sr);

                    for (int i = 0; i < (ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells.Count; i++)    
                    {
                        strLine += "    " + (ultraGrid.Rows.GetAllNonGroupByRows())[0].Cells[i].Column.Header.Caption.PadRight(4, ' ');
                    }
                    sw.WriteLine(strLine);
                    strLine = "";

                    for (int i = 0; i < ultraGrid.Rows.GetAllNonGroupByRows().Length; i++)
                    {
                        for (int j = 0; j < (ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells.Count; j++)
                        {
                            strLine += "    " + ((ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells[j].Value.ToString().PadRight(7, ' '));
                        }
                        sw.WriteLine(strLine);
                        strLine = "";
                    }
                    sw.WriteLine("");
                    sw.WriteLine("                       *** End of report ***                       ");
                    sr.Close();
                    sr.Dispose();
                    System.Diagnostics.Process.Start("notepad.exe", filename);
                    this.Cursor = Cursors.Default;
                }
                #endregion
                MessageBox.Show("导出成功", "提示");
            }
            catch (Exception ex)
            {
                MessageBox.Show("导出失败,原因" + ex.Message, "提示");
            }
        }

#3


不知道你想写成什么样子的,你的数据是什么样子的?
System.IO.StreamWriter sw = System.IO.File.AppendText("文件路径");
sw.WriteLine("文件内容");
sw.Close();

写txt文件很容易,关键是看你的数据源是什么样子,你想写成什么样

#4


你这就是两个问题,一个是如何进行数据库查询,将结果返回到DataSet中,并且会遍历DataSet
第二个问题是如何写文本文件

百度下,有很多资料

#1


建议使用WriteXml。而不是简单的纯文本文件

参考
http://msdn.microsoft.com/en-US/library/hb27k0tf(v=VS.80).aspx

#2


引用楼主 lvyhong 的回复:
怎样将数据库查询出来的数据写入.txt文件中,
dataset如何写入文本文件


给你参考一下,自己改改。

public void DoExportTXT(UltraGrid ultraGrid, string filename)
        {
            try
            {
                #region 获取文件名
                if (filename.Length == 0)
                {
                    SaveFileDialog fs = new SaveFileDialog();
                    fs.Filter = "TXT(*.txt)|*.txt";
                    if (fs.ShowDialog() == DialogResult.OK)
                    {
                        filename = fs.FileName;
                    }
                    else
                    {
                        return;
                    }
                }
                #endregion

                ////
                #region 导出TXT
                string strLine = "";
                if (ultraGrid.Rows.GetAllNonGroupByRows().Length < 1)
                {
                    MessageBox.Show("没有数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    this.Cursor = Cursors.WaitCursor;
                    FileStream sr = File.Open(filename, FileMode.Create);
                    StreamWriter sw = new StreamWriter(sr);

                    for (int i = 0; i < (ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells.Count; i++)    
                    {
                        strLine += "    " + (ultraGrid.Rows.GetAllNonGroupByRows())[0].Cells[i].Column.Header.Caption.PadRight(4, ' ');
                    }
                    sw.WriteLine(strLine);
                    strLine = "";

                    for (int i = 0; i < ultraGrid.Rows.GetAllNonGroupByRows().Length; i++)
                    {
                        for (int j = 0; j < (ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells.Count; j++)
                        {
                            strLine += "    " + ((ultraGrid.Rows.GetAllNonGroupByRows())[i].Cells[j].Value.ToString().PadRight(7, ' '));
                        }
                        sw.WriteLine(strLine);
                        strLine = "";
                    }
                    sw.WriteLine("");
                    sw.WriteLine("                       *** End of report ***                       ");
                    sr.Close();
                    sr.Dispose();
                    System.Diagnostics.Process.Start("notepad.exe", filename);
                    this.Cursor = Cursors.Default;
                }
                #endregion
                MessageBox.Show("导出成功", "提示");
            }
            catch (Exception ex)
            {
                MessageBox.Show("导出失败,原因" + ex.Message, "提示");
            }
        }

#3


不知道你想写成什么样子的,你的数据是什么样子的?
System.IO.StreamWriter sw = System.IO.File.AppendText("文件路径");
sw.WriteLine("文件内容");
sw.Close();

写txt文件很容易,关键是看你的数据源是什么样子,你想写成什么样

#4


你这就是两个问题,一个是如何进行数据库查询,将结果返回到DataSet中,并且会遍历DataSet
第二个问题是如何写文本文件

百度下,有很多资料