الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله تصدير الداتا جريد فيو الى اكسل

بدأه FMBMOHAMMED في 15 يونيو 2016 · 1 رد · 435 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكله لما اصدر البيانات من الداتا جريد فيو الى ملف اكسل تكون من اليسار الى اليمين واريدها من اليمين الى اليسار

#2

جرب هذا الكود لا يحتاج الي جريد

 protected void subExportData(DataTable dt, string filename)
    {
        HttpResponse response = HttpContext.Current.Response;

        // first let's clean up the response.object
        response.Clear();
        response.Charset = "";

        // set the response mime type for excel
        response.ContentType = "application/vnd.ms-excel";
        response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + ".xls\"");

        // create a string writer
        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter htw = new HtmlTextWriter(sw))
            {
                htw.WriteLine("<?xml version='1.0'?>");
                htw.WriteLine("<?mso-application progid='Excel.Sheet'?>");
                htw.WriteLine("<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet' xmlns:x='urn:schemas-microsoft-com:office:excel'>");
                //////////////////////////////////////////////////////
                subGetDataRows(dt, htw, dt.TableName);
                ///////////////////////////////////////////////////////
                htw.WriteLine("</Workbook>");
                response.Write(sw.ToString());
                response.End();
            }
        }
    }
    protected void subGetDataRows(DataTable dt, HtmlTextWriter htw, string sSheetName)
    {
        htw.WriteLine("<Worksheet ss:Name='" + sSheetName + "' ss:RightToLeft='1'>");
        htw.WriteLine("<Table>");

        htw.WriteLine("<Row>");
        foreach (object oColumn in dt.Columns)
            htw.WriteLine("<Cell><Data ss:Type='String'>" + oColumn + "</Data></Cell>");
        htw.WriteLine("</Row>");

        foreach (DataRow oDataRow in dt.Rows)
        {
            htw.WriteLine("<Row>");
            foreach (object oDataColumn in oDataRow.ItemArray)
            {
                if (oDataColumn.GetType().FullName == "System.Int16" ||
                    oDataColumn.GetType().FullName == "System.Int32" ||
                    oDataColumn.GetType().FullName == "System.Int64" ||
                    oDataColumn.GetType().FullName == "System.Double")
                    htw.WriteLine("<Cell><Data ss:Type='Number'>" + oDataColumn + "</Data></Cell>");
                else
                    htw.WriteLine("<Cell><Data ss:Type='String'>" + oDataColumn + "</Data></Cell>");
            }
            htw.WriteLine("</Row>");
        }

        htw.WriteLine("</Table>");
        htw.WriteLine("</Worksheet>");
    }

مواضيع مشابهة