मैं jxl का उपयोग कर एक नई एक्सेल फ़ाइल बनाने की कोशिश कर रहा हूं, लेकिन मुझे अपने एपीआई दस्तावेज और ऑनलाइन में उदाहरण खोजने में कठिनाई हो रही है।मैं जेएक्सएल का उपयोग कर एक नई एक्सेल फ़ाइल कैसे बना सकता हूं?
उत्तर
प्यार करता है कुछ समय के लंबे समय तक चारों ओर खिलवाड़ मैं अंत में कुछ ऐसा है जो काम किया है और वहाँ देखा अभी भी एक समाधान यहाँ अभी तक तैनात नहीं था पाया के बाद, इसलिए यहाँ मैं क्या पाया है:
try {
String fileName = "file.xls";
WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName));
workbook.createSheet("Sheet1", 0);
workbook.createSheet("Sheet2", 1);
workbook.createSheet("Sheet3", 2);
workbook.write();
workbook.close();
} catch (WriteException e) {
}
सुनिश्चित नहीं है कि आपको जेएक्सएल के साथ रहना है, लेकिन Excel फ़ाइलों को संभालने के लिए सबसे अच्छी लाइब्रेरी Apache's POI HSSF है।
मुझे लगता है कि मेरे द्वारा प्रदान की गई वेबसाइट पर बहुत सारे उदाहरण हैं, लेकिन यदि आपको और सहायता की आवश्यकता है, तो मुझे बताएं। मेरे पास कुछ उदाहरण दे सकते हैं।
जिज्ञासा से बाहर, पीओआई गरीब Obfuscation इंटरफेस के लिए खड़ा है और एचएसएसएफ भयानक स्प्रेडशीट प्रारूप है। तुम देखो कितना अपाचे माइक्रोसॉफ्ट ऑफिस प्रारूपों :-)
सबसे पहले आपको अपनी जावा निर्देशिका में जेएक्सएल एपीआई डालने की ज़रूरत है, http://www.andykhan.com/ से जेएक्सएल एपीआई डाउनलोड करें, इसे निकालें, जेएक्सएल कॉपी करें और सी: \ प्रोग्राम फ़ाइलें \ जावा \ jre7 \ lib \ ext जैसे पेस्ट करें।
try {
String fileName = "file.xls";
WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName));
WritableSheet writablesheet1 = workbook.createSheet("Sheet1", 0);
WritableSheet writablesheet2 = workbook.createSheet("Sheet2", 1);
WritableSheet writablesheet3 = workbook.createSheet("Sheet3", 2);
Label label1 = new Label("Emp_Name");
Label label2 = new Label("Emp_FName");
Label label3 = new Label("Emp_Salary");
writablesheet1.addCell(label1);
writablesheet2.addCell(label2);
writablesheet3.addCell(label3);
workbook.write();
workbook.close();
} catch (WriteException e) {
}
मुझे पता है कि यह एक बहुत पुराना सवाल है। हालांकि, मुझे लगता है कि मैं एक उदाहरण है कि यह भी सेल मान जोड़ता साथ योगदान कर सकते हैं:
/**
*
* @author Almir Campos
*/
public class Write01
{
public void test01() throws IOException, WriteException
{
// Initial settings
File file = new File("c:/tmp/genexcel.xls");
WorkbookSettings wbs = new WorkbookSettings();
wbs.setLocale(new Locale("en", "EN"));
// Creates the workbook
WritableWorkbook wwb = Workbook.createWorkbook(file, wbs);
// Creates the sheet inside the workbook
wwb.createSheet("Report", 0);
// Makes the sheet writable
WritableSheet ws = wwb.getSheet(0);
// Creates a cell inside the sheet
//CellView cv = new CellView();
Number n;
Label l;
Formula f;
for (int i = 0; i < 10; i++)
{
// A
n = new Number(0, i, i);
ws.addCell(n);
// B
l = new Label(1, i, "by");
ws.addCell(l);
// C
n = new Number(2, i, i + 1);
ws.addCell(n);
// D
l = new Label(3, i, "is");
ws.addCell(l);
// E
f = new Formula(4, i, "A" + (i+1) + "*C" + (i+1));
ws.addCell(f);
}
wwb.write();
wwb.close();
}
}
public void exportToExcel() {
final String fileName = "TodoList2.xls";
//Saving file in external storage
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath() + "/javatechig.todo");
//create directory if not exist
if(!directory.isDirectory()){
directory.mkdirs();
}
//file path
File file = new File(directory, fileName);
WorkbookSettings wbSettings = new WorkbookSettings();
wbSettings.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook;
try {
workbook = Workbook.createWorkbook(file, wbSettings);
//Excel sheet name. 0 represents first sheet
WritableSheet sheet = workbook.createSheet("MyShoppingList", 0);
Cursor cursor = mydb.rawQuery("select * from Contact", null);
try {
sheet.addCell(new Label(0, 0, "id")); // column and row
sheet.addCell(new Label(1, 0, "name"));
sheet.addCell(new Label(2,0,"ff "));
sheet.addCell(new Label(3,0,"uu"));
if (cursor.moveToFirst()) {
do {
String title =cursor.getString(0) ;
String desc = cursor.getString(1);
String name=cursor.getString(2);
String family=cursor.getString(3);
int i = cursor.getPosition() + 1;
sheet.addCell(new Label(0, i, title));
sheet.addCell(new Label(1, i, desc));
sheet.addCell(new Label(2,i,name));
sheet.addCell(new Label(3,i,family));
} while (cursor.moveToNext());
}
//closing cursor
cursor.close();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
workbook.write();
try {
workbook.close();
} catch (WriteException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
जिज्ञासा से बाहर
, किसी विशेष कारण से भी आपको JXL के लिए चिपके रहे हैं? – kolrie
यह हमारी परियोजना में काफी हद तक उपयोग में है और मैं टीम लीड नहीं हूं: पी – Aaron
गोटो! :) मैंने पीओआई एचएसएसएफ का उपयोग किया है और यह बहुत लचीला है। यदि आप जमीन से कुछ शुरू कर रहे थे, तो मैं उस रास्ते पर जाने के लिए कहूंगा। लेकिन चूंकि आप जेएक्सएल के साथ फंस गए हैं, शुभकामनाएं :) – kolrie