मैंने अपने डेटासेट को एक्सेल में बदलने की कोशिश की और उस एक्सेल को डाउनलोड किया। मुझे मेरी आवश्यक एक्सेल फाइल मिल गई। लेकिन सिस्टम। थ्रेडिंग। थ्रेडअबोर्टएक्ससेप्शन हर एक्सेल डाउनलोड को उठाया गया था। इस समस्या को कैसे हल करें? .. कृपया मेरी मदद करें ...
मैं इस विधि को अपनी aspx स्क्रीन में कहता हूं। इस विधि द्वारा भी एक ही अपवाद को फेंक दिया गया है।
मुझे लगता है कि सार्वजनिक शून्य ExportDataSet (DataSet ds) फ़ंक्शन कई एस्पक्स स्क्रीन में हैं और मैं अपवादों के लिए त्रुटि लकड़हारा विधि बनाए रख रहा हूं, जो रनटाइम पर उठाई जाती हैं, उन अपवादों को एक .txt फ़ाइलों में लिखा जाता है। ताकि सभी aspx स्क्रीन की txt फ़ाइलों में एक ही अपवाद लॉग इन हो। मैं इस अपवाद को बचने के लिए विधि घोषित क्लास फ़ाइल से aspx में फेंकना चाहता हूं। बस मैं अपनी विधि घोषणा कक्षा फ़ाइल में ही इस अपवाद को संभालना चाहता हूं।
ASPX फ़ाइल विधि कॉल: excel.ExportDataSet (dsExcel);
विधि परिभाषा:
public void ExportDataSet(DataSet ds)
{
try
{
string filename = "ExcelFile.xls";
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Charset = "";
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
GridView dg = new GridView();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
// response.Write(style);
response.Write(sw.ToString());
response.End(); // Exception was Raised at here
}
}
}
catch (Exception ex)
{
string Err = ex.Message.ToString();
EsHelper.EsADLogger("HOQCMgmt.aspx ibtnExcelAll_Click()", ex.Message.ToString());
}
finally
{
}
}
Response.Endदेखने stackoverflow.com/a/3917180/2864740 (और अन्य उत्तर); ध्यान दें कि अपवाद "अपेक्षित होने के लिए" है क्योंकि यह है कि स्टैक निराधार है (इसलिए उस अपवाद को न पकड़ें)। यदि आप अभी भी [अन्य] अपवादों को पकड़ना चाहते हैं, तो उपयोग करें:.. catch (ThreadAbortException) { throw; /* propagate */ } catch (Exception ex) { .. }