我自定義公共類之輸入DataSet得到excel表格(8)
阿新 • • 發佈:2018-12-11
//該程式碼我自己測過沒問題,有問題聯絡我,大家一起交流 public void DSToExcel(DataSet ds, string strTitle) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Excel files (*.xls)|*.xls"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = false; saveFileDialog.FileName = strTitle + ".xls"; if (saveFileDialog.ShowDialog() == DialogResult.Cancel) //匯出時,點選【取消】按鈕 { return; } Stream myStream = saveFileDialog.OpenFile(); StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0)); string strHeaderText = ""; try { //寫標題 for (int i = 0; i < ds.Tables[0].Columns.Count; i++) { if (i > 0) { strHeaderText += "\t"; } strHeaderText += ds.Tables[0].Columns[i].ToString(); } sw.WriteLine(strHeaderText); //寫內容 string strItemValue = ""; for (int j = 0; j < ds.Tables[0].Rows.Count; j++) { strItemValue = ""; for (int k = 0; k < ds.Tables[0].Columns.Count; k++) { if (k > 0) { strItemValue += "\t"; } strItemValue += ds.Tables[0].Rows[j][k].ToString(); } sw.WriteLine(strItemValue); //把dgv的每一行的資訊寫為sw的每一行 } } catch (Exception ex) { MessageBox.Show(ex.Message, "軟體提示"); throw ex; } finally { sw.Close(); myStream.Close(); } }