السلام عليكم ورحمه الله
انا بحث كثيرا لكود سى شارب لتصدير الداتا جريد فيو الى اكسل ووجدت كود على احد المواقع الاجنبيه لكن اذا كان فى الداتا جريد فيو اى حروف عربيه تظهر علامات استفهام
الكود
References:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Configuration; using System.IO;
Function for exporting to 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.Cells.Count; j++) stLine = stLine.ToString() + Convert.ToString(dGV.Rows.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(); }Code for button for exporting to Excel
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
لكن لا اعلم الترميز الصحيح
تحياتى وكل عام وانتم بخير

