في النظام، غالبًا ما يتم إنشاء دفق Excel ويتم دفق Excel الذي تم إنشاؤه إلى المستخدم.
بشكل
عام،
يمكنك استخدام الاستجابة لإرسال رأس HTTP إلى العميل وإرسال دفق
Excel المشكلة:
السبب الرئيسي وراءظهور مربع حوار تنزيل الملف مرتين عند النقر لفتحه هو
: (التخمين الحالي، لم يتم العثور على السبب الدقيق بعد).
عند فتحه لأول مرة، يكون الملف المؤقت لتدفق Excel موجودًا بالفعل في النظام (وهو الملف بدون امتداد الملف)، ولكن لا يوجد ملف أصلي (الملف الحقيقي موجود). لحفظ الملف المؤقت على الكمبيوتر في مواضع أخرى. (هل يتعلق الأمر بعدم وجود اسم لاحقة؟)
في المرة الثانية، حدد موقع ملف العميل وما إذا كنت تريد حفظه في موقع مجلد آخر غير مؤقت.
الحل الحالي هو
إنشاء صفحة جديدة خصيصًا لتوفير البيانات المصدرة
اكتب كود مثل هذا في Page_load في هذه الصفحة
Private void Page_Load(object sender, System.EventArgs e)
{
// ضع رمز المستخدم هنا لتهيئة الصفحة
ReportRule reportRule=new ReportRule();
byte[] result= reportRule.RenderReport(HttpContext.Current.Server.UrlDecode(this.Request.QueryString["peportpath"]),Request.QueryString["id"]); // إنشاء دفق Excel
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AppendHeader
("Content-disposition",attachment;filename=hahh.xls");
(نتيجة)؛
HttpContext.Current.Response.End()
;