का उपयोग कर xlsx फ़ाइलों में एक पृष्ठ पर फिटिंग शीट की समस्याएं मैं जावा के लिए अपाचे पीओआई लाइब्रेरी का उपयोग करके कुछ xlsx फ़ाइलों को बनाने की कोशिश कर रहा हूं और फ़ाइलों को बनाने के लिए सबकुछ ठीक काम कर रहा है।Apache POI लाइब्रेरी
समस्या तब आती है जब मैं भौतिक प्रिंटर का उपयोग करके उन फ़ाइलों को मुद्रित करना चाहता हूं। मैं अपनी कार्यपुस्तिकाओं में प्रत्येक शीट को एक पृष्ठ पर फिट करना चाहता हूं। मैं दस्तावेज में चारों ओर देखा और निम्नलिखित कोड काम करने की अपेक्षा की जाएगी:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("format sheet");
PrintSetup ps = sheet.getPrintSetup();
sheet.setAutobreaks(true);
ps.setFitHeight((short)1);
ps.setFitWidth((short)1);
for(int i = 0; i < 100; ++i){
sheet.createRow(i);
sheet.getRow(i).createCell(0).setCellValue("Test " + i);
}
FileOutputStream output = new FileOutputStream("Test.xlsx");
wb.write(output);
output.close();
लेकिन यह नहीं है ... जब मैं इसे प्रिंट करने का प्रयास, यह तीन पत्रक (क्या यह वास्तव में माना जाता हो जाएगा करने के लिए प्रिंट अगर मैंने प्रिंटसेटअप भाग का उपयोग नहीं किया है तो प्रिंट करने के लिए)। तो कोड बस कुछ भी नहीं करता है।
क्या कोई मुझे बता सकता है कि उस कोड के साथ क्या गलत है?
इसके अलावा, मेरे पास xlsx फ़ाइलों को प्रिंट करने के बारे में एक और सवाल है: मैं जानना चाहता हूं कि मेरे जावा प्रोग्राम से xlsx फ़ाइलों को प्रिंट करने का कोई तरीका है या नहीं, वास्तव में फ़ाइलों को खोलने और प्रिंट पर क्लिक किए बिना? की तरह wb.printAllSheetsInWorkbook(); या ऐसा कुछ।
मुझे यह एक ही समस्या के लिए लॉक करते हुए मिला लेकिन एनपीओआई (पीओआई के .NET पोर्ट) का उपयोग करके मैंने पाया कि मैंने थोड़ी सी भिन्नता के साथ वर्णित समकक्ष कार्रवाइयों का पालन किया; मैंने FitHeight = 0 सेट किया है ताकि एक्सेल "एक पृष्ठ में सभी कॉलम फिट करें"। एक जादू की तरह काम किया! धन्यवाद! – Rynkadink
मेरी मदद करता है (http://stackoverflow.com/a/12072291/3587592)। – 0x5a4d
शीट.सेटऑटोब्रेक्स (सत्य) जोड़ना; sheet.setFitToPage (सच) से पहले; मेरे लिए काम किया –