C# 将DataGridview导出到Excel的建议
我尝试将C# 将DataGridview导出到Excel的建议,c#,C#,我尝试将DataGridview导出到Excel。我的代码是: private void ToCsV(DataGridView dGV, string filename) { string stOutput = ""; // Export titles: string sHeaders = ""; for (int j = 0; j < dGV.Columns.Count; j++) sHeaders = sHeaders.ToString
DataGridview
导出到Excel。我的代码是:
private void ToCsV(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) + "\t";
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) + "\t";
stOutput += stLine + "\r\n";
}
Encoding utf16 = Encoding.GetEncoding(1254);
byte[] output = utf16.GetBytes(stOutput);
FileStream fs = new FileStream(filename, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(output, 0, output.Length); //write the encoded file
bw.Flush();
bw.Close();
fs.Close();
}
我需要使用UTF-8而不是UTF-16。因为我的桌子上有阿拉伯语。那么我应该如何使用
Encoding utf16=Encoding.GetEncoding(1256)代码>
相同的代码。。同样的问题。。
我最后使用了另一种编码。。使用此选项可以解决问题:
byte[] output = Encoding.Default.GetBytes(stOutput);
而不是
Encoding utf16 = Encoding.GetEncoding(1254);
byte[] output = utf16.GetBytes(stOutput);
试试这个,让我知道..有人能帮我吗?
byte[] output = Encoding.Default.GetBytes(stOutput);
Encoding utf16 = Encoding.GetEncoding(1254);
byte[] output = utf16.GetBytes(stOutput);