मेरे पास कुछ .XLSX फ़ाइलों को बनाने के लिए EPPlus का उपयोग करके एक अजीब समस्या है। मेरे पास एक पैकेज बनाया जा रहा है, और फिर प्रतिक्रिया के लिए आउटपुट है।ईपीप्लस त्रुटि जब आउटपुट .XLSX प्रतिक्रिया
मैं एक पैकेज बनाया के रूप में निम्नानुसार है:
var file = new FileInfo(@"C:\Test.xlsx");
ExcelPackage package = new ExcelPackage(file);
//...code to output data...//
package.Save();
यह मेरा स्थानीय सेल्सियस के लिए फ़ाइल की बचत होती है: सही ढंग से ड्राइव, और जब मैं इसे खोलने यह बहुत अच्छा काम करता है। कोई त्रुटि नहीं है या कुछ भी, स्वरूपण सही, आदि
हालांकि है, मैं अब उत्पादन के लिए प्रतिक्रिया स्ट्रीम करने के लिए इस फ़ाइल को इच्छा तो मैं इस तरह देखने के लिए कोड मैं था संशोधित किया है:
ExcelPackage package = new ExcelPackage();
//...code to output data...//
MemoryStream result = new MemoryStream();
package.SaveAs(result);
context.Response.Clear();
context.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
context.Response.AddHeader("Content-Disposition", "attachment;filename=MissionDetails.xlsx");
result.WriteTo(context.Response.OutputStream);
context.Response.End();
लेकिन जब मैं चलाते हैं तो यह कोड मैं शीघ्र निम्नलिखित जब एक्सेल फ़ाइल खोलने का प्रयास:
Excel found unreadable content in filename.xlsx. Do you want to recover the contents of this workbook? If you trust the source of this workbook, click Yes
क्लिक करने से हाँ तो प्रदर्शित करता है शीघ्र निम्नलिखित:
This file cannot be opened by using Microsoft Excel. Do you want to search the Microsoft Office Online Web site for a converter that can open the file?
मैं No
यहाँ चयन करें और फिर इसे Excel फ़ाइल और प्रदर्शित करता है इस त्रुटि को खोलता है:
Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.
लेकिन फ़ाइल तो ठीक लोड करता है और सही ढंग से और सब कुछ प्रारूप तैयार किया जाता प्रतीत होता है। लेकिन हर बार जब मैं फ़ाइल खोलने की कोशिश करता हूं तो यह वही संकेत और त्रुटि संदेश देता है।
Note: The code to output the data does not change for either of these scenarios.
क्या किसी ने ऐसा कुछ देखा है? या क्या कोई विचार है कि प्रतिक्रिया को आउटपुट करते समय फ़ाइल को गलत तरीके से केवल सहेजने का कारण क्या हो सकता है?
क्या आप परीक्षण उद्देश्यों के लिए फ़ाइल की सामग्री को सरल बना सकते हैं (यानी केवल एक सेल का मान सेट करें) यह सुनिश्चित करने के लिए कि फ़ाइल स्ट्रीमिंग के विपरीत फ़ाइल की सामग्री में कुछ गड़बड़ नहीं है? – JustinStolle
जैसा कि कहा गया है, सामग्री वही है जब मैं इसे हार्ड ड्राइव पर सहेजता हूं। और मैंने इसका परीक्षण किया है और सत्यापित किया है कि यह वह सामग्री नहीं है जिसे मैं सेल में जोड़ रहा हूं। प्रतिक्रिया के साथ यह कुछ मुद्दा होना चाहिए। – j00b
तो समस्या को निहित करने के लिए स्ट्रीम करने के लिए स्ट्रीम करने के लिए एक बेहद सरल फ़ाइल बनाएं - यदि ऐसा है तो ईपीप्लस के साथ इसका कोई संबंध नहीं हो सकता है। – JustinStolle