2016-01-16 10 views
6

मैं एमएस एक्सेल (टीएम) स्प्रैडशीट्स को पढ़ने के लिए एक सीएल लाइब्रेरी लिख रहा हूं जिसे "xlmanip" कहा जाता है (अभी तक प्राइम टाइम के लिए तैयार नहीं है - केवल "xlsx" स्प्रेडशीट्स पढ़ता है, 80% उपयोग के मामले के लिए काम करता है "मैं काम करना चाहता हूं सेल सामग्री पर "... लेकिन मैं digress।)ग्रे स्ट्रीम के रूप में ज़िप सामग्री?

एक चीज जो मुझे" xlsx "(एक्सएमएल प्रारूप में ज़िप अभिलेखागार) पढ़ने के दौरान चिंतित करती है वह यह है कि वर्तमान ज़िप हैंडलिंग लाइब्रेरी, सामान्य लिस्प ज़िप, संपीड़ित सामग्री को अनपैक करता है एक (vector (unsigned-byte 8))। एक बड़ी स्प्रेडशीट के लिए, जो अंतिम उपयोगकर्ता के लिए एक समस्या का कारण बन जाएगा।

एक विकल्प मैंने सोचा है कि लोडिंग में देरी हो रही है - लेट-ओवर-लैम्ब्डा एक बंद है जो आवश्यकतानुसार वर्कशीट को प्रभावी ढंग से मांगता है। हालांकि, यह केवल अपरिहार्य देरी कर रहा है।

क्या कोई ज़िप फ़ाइल सीएल लाइब्रेरी है जो एक ज़िप घटक को एक संभावित घटक (0 बड़े पैमाने पर) (vector (unsigned-byte 8)) के विपरीत एक ज़िप घटक को वापस लौटाती है?

संपादित करें: स्पष्टीकरण

मैं एक ज़िप घटक समारोह के लिए देख रहा हूँ कि एक धारा, नहीं एक है कि एक धारा लेता देता है। स्ट्रीम जो फ़्री लेते हैं, ज़िप घटक की सामग्री सीधे धारा से जुड़े फ़ाइल पर लिखते हैं। मैं चाहता हूं कि xlmanip सीधे स्ट्रीम से पढ़ता है जैसे कि ज़िप घटक (निश्चित रूप से, वस्तुतः) एक फ़ाइल थी।

+0

अप्रासंगिक टिप्पणी, लेकिन कोई पूछने जा रहा है: 'xlmanip' का कोड gitlab पर है। –

उत्तर

0

Chipz एक स्ट्रीम में ज़िप को डिक्रप्रेस कर सकता है। यह एक डिकंप्रेस फ़ंक्शंस प्रदान करता है जहां आप इसे आउटपुट स्ट्रीम और इनपुट स्ट्रीम को डिकंप्रेस करने के लिए देते हैं और यह आउटपुट स्ट्रीम देता है जहां डिकंप्रेस्ड सामग्री को पढ़ा जा सकता है।

+0

कोड पढ़ने से, यह सीधे एक स्ट्रीम पर लिखता है, लेकिन ऐसा लगता है कि यह एक धारा बनाता है जिसे पढ़ा जा सकता है। यह आवश्यकता के अनुरूप भी नहीं है: ज़िप सामग्री की एक तालिका के साथ एक संग्रह प्रारूप है, न कि एक gzip फ़ाइल। –

+1

@ScottM: मुझे लगता है कि 'chipz: make-decompressing-stream' जो आप चाहते हैं वह कर सकते हैं जब 'zip :: zipfile-entry-stream' इनपुट स्ट्रीम के रूप में दिया जाता है। – Svante

+0

@Svante: 'ज़िप :: zipfile-entry-stream' निर्यात नहीं किया गया है। (मेरा बुरा ... यह 'ज़िपफाइल' संरचना का हिस्सा है।) मैं इसे एक शॉट दूंगा। –

संबंधित मुद्दे