عدم انتقال سطر آخر datagridview به اکسل؟؟
با کد های زیر امکان گرفتن خروجی از گریدویو امکان پذیر است ولی مشکلی که هست اینه که یک ردیف به آخر انقال داده نمی شود. دلیل چیست؟؟
مثلا اگر در گرید ویو یک رکورد باشد انتقال نمی دهد حتما باید دو رکورد باشد، آنوقت فقط رکورد اول را انتقال می دهد!!!!!
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
}
نقل قول: عدم انتقال سط آخر گرید ویو به اکسل؟؟
دوست گرامی شما در حلقه for یک رکورد کمتر رو شمارش میکنی
for (int i = 0; i < dGV.RowCount - 1; i++)
منهای یک رو بردار .به علامت کوچکتر توجه کن