مشکل در ذخیره فارسی اطلاعات 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();
}
و برای ذخیره هم کد زیر
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel Documents (*.xls)|*.xls";
sfd.FileName = "export.xls";
if (sfd.ShowDialog() == DialogResult.OK)
{
//ToCsV(dataGridView1, @"c:\export.xls");
ToCsV(dataGridView1, sfd.FileName); // Here dataGridview1 is your grid view name
}
نقل قول: مشکل در ذخیره فارسی اطلاعات دیتاگرید در اکسل
جواب رو پیدا کردم گفتم اینجا هم قرار بدم شاید یکی دیگه هم این مشکل رو داشت
تو این قسمت
Encoding utf16 = Encoding.GetEncoding(1254);
کد 1256 رو باید میزدم
یا Encoding.defult رو میزدم :لبخندساده::لبخندساده:
نقل قول: مشکل در ذخیره فارسی اطلاعات دیتاگرید در اکسل
دوست عزیز پیشنهاد میکنم که بجای این همه مشکلات از GemBox Spreadsheet استفاده کنید که کار رو بسیار راحت کرده
همچنین کدهای شما وقتی که در سیستم مشتری افیس نصب نباشه کار نخواهد کرد و یا مشکلات دیگر ...
نقل قول: مشکل در ذخیره فارسی اطلاعات دیتاگرید در اکسل
نقل قول:
نوشته شده توسط
samiasoft
دوست عزیز پیشنهاد میکنم که بجای این همه مشکلات از GemBox Spreadsheet استفاده کنید که کار رو بسیار راحت کرده
همچنین کدهای شما وقتی که در سیستم مشتری افیس نصب نباشه کار نخواهد کرد و یا مشکلات دیگر ...
اگه اشتباه نکنم نیاز به خرید لایسنس داره؟ شما خودتون خریدید یا نسخه دستکاری شدشو استفاده میکنید؟