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

نام تاپیک: خروجی اکسل از دیتا گیرید 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 در 19:58 عصر

  2. #2
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,190

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

    سلام
    این روش گرفتن خروجی درست نیست
    باید از روش اصولی اون استفاده کنید

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

  1. خروجی اکسل از دیتا گرید
    نوشته شده توسط mahdi.fa در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 4
    آخرین پست: دوشنبه 06 دی 1395, 23:41 عصر
  2. سوال: خطا در هنگام خروجی اکسل از دیتا گرید ویو سی شارپ
    نوشته شده توسط mah_s63 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: سه شنبه 30 دی 1393, 11:32 صبح
  3. پاسخ: 4
    آخرین پست: یک شنبه 29 مرداد 1391, 22:08 عصر
  4. گرفتن خروجی اکسل از دیتا گرید
    نوشته شده توسط amin1000 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 12 تیر 1389, 15:53 عصر
  5. سوال: گرفتن خروجی اکسل از دیتا تیبل
    نوشته شده توسط atiyeh در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 16 خرداد 1389, 13:10 عصر

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

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

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