نمایش نتایج 1 تا 1 از 1

نام تاپیک: خروجی اکسل از دیتا گرید در C#‎‎ wpf

  1. #1

    خروجی اکسل از دیتا گرید در C#‎‎ wpf

    سلام از کد زیر برای خروجی اکسل گرفتن از دیتا گرید در wpf استفاده کردم ولی به سطر 11 از جدول که میرسه خطا میده می گه نوع مشکل داره و ... در صورتی که همه اش متن هست و با حذف رکورد 11 باز هم به سطر جدید گیر میده
    private void btnExcel_Click(object sender, RoutedEventArgs e)
    {

    if (dataGrid.Items.Count < 1)
    {
    MessageBox.Show("اطلاعاتی برای خروجی گرفتن وجود ندارد");
    }

    else
    {
    dataGrid.SelectedIndex = 0;
    dataGrid.SelectedItem = dataGrid.SelectedItems[0];
    Excel.Application xlApp;
    Excel.Workbook xlWorkBook;
    Excel.Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    Excel.Range rangeToHoldHyperlink;
    Excel.Range CellInstance;
    xlApp = new Excel.Application();
    xlWorkBook = xlApp.Workbooks.Add(misValue);

    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1) ;
    xlApp.DisplayAlerts = false;
    //Dummy initialisation to prevent errors.
    rangeToHoldHyperlink = xlWorkSheet.get_Range("A1", Type.Missing);
    CellInstance = xlWorkSheet.get_Range("A1", Type.Missing);

    for (int i = 1; i < dataGrid.Columns.Count + 1; i++)
    {
    xlWorkSheet.Cells[1, i] = i.ToString() ;
    xlWorkSheet.Cells[2, i] = dataGrid.Columns[i - 1].Header.ToString();
    }
    dataGrid.SelectedItem = dataGrid.Items[0];
    string cell="";
    for (int i = 0; i < dataGrid.Items.Count - 1; i++)
    {
    for (int j = 0; j < dataGrid.Columns.Count; j++)

    {
    object item = new object();
    item= dataGrid.Items[i];
    //MessageBox.Show("I="+i.ToString()+"J="+j.ToString( ), (dataGrid.SelectedCells[j].Column.GetCellContent(item) as TextBlock).Text);
    cell = (dataGrid.SelectedCells[j].Column.GetCellContent(item) as TextBlock).Text;


    try
    {
    xlWorkSheet.Cells[i + 3, j + 1] = cell;
    }
    catch { MessageBox.Show("I=" + i.ToString() + "J=" + j.ToString(),cell); }
    }

    }

    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Filter = "Excel Document(*.xlsx)|*.xlsx";
    sfd.FileName = "";
    if (sfd.ShowDialog() == true)
    {
    xlWorkBook.SaveAs(sfd.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode. xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    }
    xlApp.Quit();

    }

    }
    آخرین ویرایش به وسیله saeed_homayoni : سه شنبه 18 مهر 1396 در 17:59 عصر

تاپیک های مشابه

  1. خروجی اکسل از دیتا گرید
    نوشته شده توسط mahdi.fa در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 4
    آخرین پست: دوشنبه 06 دی 1395, 22:41 عصر
  2. سوال: خطا در هنگام خروجی اکسل از دیتا گرید ویو سی شارپ
    نوشته شده توسط mah_s63 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: سه شنبه 30 دی 1393, 10:32 صبح
  3. گرفتن خروجی اکسل از دیتا گرید
    نوشته شده توسط amin1000 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 12 تیر 1389, 14:53 عصر
  4. نمایش یک سطر از دیتا گرید در چند تکست باکس
    نوشته شده توسط m-alizadeh در بخش C#‎‎
    پاسخ: 5
    آخرین پست: جمعه 30 اسفند 1387, 21:32 عصر
  5. بازگرداندن اطلاعات یک سطر از دیتا گرید در textbox
    نوشته شده توسط elmira_63 در بخش VB.NET
    پاسخ: 6
    آخرین پست: دوشنبه 06 خرداد 1387, 20:15 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •