/// <summary> /// 保存文件 /// 涂聚文 /// 2014-08-29 /// Geovin Du /// </summary> /// <param name="dGV"></param> /// <param name="filename"></param> public static void DataGridViewToCsV(DataGridView dGV, string filename) { string stOutput = ""; // Export titles: string sHeaders = ""; for (int j = 0; j < dGV.Columns.Count; j++) sHeaders = sHeaders.ToString() + Convert.ToString(dGV.Columns[j].HeaderText) + ", "; stOutput += sHeaders + "\r\n"; // Export data. for (int i = 0; i < dGV.RowCount - 1; i++) { string stLine = ""; for (int j = 0; j < dGV.Rows[i].Cells.Count; j++) stLine = stLine.ToString() + Convert.ToString(dGV.Rows[i].Cells[j].Value) + ", "; stOutput += stLine + "\r\n"; } UTF8Encoding utf8 = new UTF8Encoding(); string file = "1.csv"; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);//Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); saveFileDialog1.CreatePrompt = true; saveFileDialog1.OverwritePrompt = true; saveFileDialog1.Title = "Save text Files"; //saveFileDialog1.CheckFileExists = true; //saveFileDialog1.CheckPathExists = true; saveFileDialog1.DefaultExt = "csv"; saveFileDialog1.Filter = "csv files (*.csv)|*.csv|All files (*.*)|*.*"; saveFileDialog1.FilterIndex = 1; saveFileDialog1.RestoreDirectory = true; System.IO.Stream fileStream; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { //FileStream fs = new FileStream(filename, FileMode.Create); file = saveFileDialog1.FileName; fileStream = saveFileDialog1.OpenFile(); MemoryStream userInput = new MemoryStream(); byte[] output = Encoding.Default.GetBytes(stOutput); //fileStream.Read(output, 0, (int)output.Length); fileStream.Write(output, 0, output.Length); fileStream.Close(); } } /// <summary> /// 保存文件 /// 涂聚文 /// 2014-08-28 /// Geovin Du /// </summary> /// <param name="dGV"></param> /// <param name="filename"></param> public static void DataGridViewToCsVDu(DataGridView dGV, string filename) { string stOutput = ""; // Export titles: string sHeaders = ""; for (int j = 0; j < dGV.Columns.Count; j++) sHeaders = sHeaders.ToString() + Convert.ToString(dGV.Columns[j].HeaderText) + ", "; stOutput += sHeaders + "\r\n"; // Export data. for (int i = 0; i < dGV.RowCount - 1; i++) { string stLine = ""; for (int j = 0; j < dGV.Rows[i].Cells.Count; j++) stLine = stLine.ToString() + Convert.ToString(dGV.Rows[i].Cells[j].Value) + ", "; stOutput += stLine + "\r\n"; } UTF8Encoding utf8 = new UTF8Encoding(); //Encoding utf16 = Encoding.GetEncoding(1200);//unicode encoding byte[] output = Encoding.Default.GetBytes(stOutput); FileStream fs = new FileStream(filename, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs, Encoding.Default); bw.Write(output, 0, output.Length); //write the encoded file bw.Flush(); bw.Close(); fs.Close(); }