ढूंढ सकें। मैं एक स्प्रेडशीट में एक सेल ढूंढ रहा हूं जिसमें स्ट्रिंग 'कुल' है और फिर उस पंक्ति का उपयोग करें जिसमें उस सेल को दूसरे सेल में कुल मान मिलना है जो हमेशा एक ही सेल/कॉलम (0 आधारित इंडेक्स में 10 वां सेल) होता है।जावा पीओआई: एक स्ट्रिंग मान के साथ एक्सेल सेल कैसे ढूंढें और उस स्थिति का उपयोग करने के लिए अपनी स्थिति (पंक्ति) प्राप्त करें ताकि वह अन्य स्थिति
मैं निम्नलिखित कोड है, जो कोई त्रुटि (सिंटेक्स) है, लेकिन findCell विधि नहीं लौटा रहा है है ROWNUM मूल्य:
public static void main(String[] args) throws IOException{
String fileName = "C:\\file-path\\report.xls";
String cellContent = "Total";
int rownr=0, colnr = 10;
InputStream input = new FileInputStream(fileName);
HSSFWorkbook wb = new HSSFWorkbook(input);
HSSFSheet sheet = wb.getSheetAt(0);
rownr = findRow(sheet, cellContent);
output(sheet, rownr, colnr);
finish();
}
private static void output(HSSFSheet sheet, int rownr, int colnr) {
/*
* This method displays the total value of the month
*/
HSSFRow row = sheet.getRow(rownr);
HSSFCell cell = row.getCell(colnr);
System.out.println("Your total is: " + cell);
}
private static int findRow(HSSFSheet sheet, String cellContent){
/*
* This is the method to find the row number
*/
int rowNum = 0;
for(Row row : sheet) {
for(Cell cell : row) {
while(cell.getCellType() == Cell.CELL_TYPE_STRING){
if(cell.getRichStringCellValue().getString() == cellContent);{
rowNum = row.getRowNum();
return rowNum;
}
}
}
}
return rowNum;
}
private static void finish() {
System.exit(0);
}
}
आपको बहुत धन्यवाद @ एमएसआई। सुझाए गए कोड ने समस्या को ठीक किया, यह पूरी तरह से काम किया। मैं प्रोग्रामिंग के लिए अपेक्षाकृत नया हूं, आपसे पूछ सकता हूं: 1. आपने वक्तव्य क्यों बदल दिया और 2. लूप के लिए वापसी क्यों है = 0. धन्यवाद! – lv10
जब आप 'while' लूप का उपयोग करते हैं तो आप मानते हैं कि' कुल-सेल 'से बाईं ओर मौजूद सभी कक्ष स्ट्रिंग से भरे हुए हैं। उदाहरण के लिए इस तरह की कोशिकाएं: | | 1 | कुल | असफल होने के साथ असफल होगा, क्योंकि 'while' 1 के मूल्य पर टूट जाएगा। वापस लौटने पर 0 'कुल-सेल' नहीं मिलेगा। – msi
दो तारों की तुलना करने के लिए आपको बराबर विधि का उपयोग करना चाहिए। '==' का उपयोग आदिम प्रकारों की तुलना करने के लिए किया जाता है, वस्तुओं नहीं। और getString() एक ऑब्जेक्ट देता है। यदि आप स्ट्रिंग्स के बारे में अधिक जानना चाहते हैं, तो स्ट्रिंग पूल और इंटर्न विधि के बारे में पढ़ें। यह वह जगह है जहां आप '==' का उपयोग करके तुलना करते समय मामलों को पा सकते हैं। मैंने ट्रिम विधि का भी उपयोग किया है क्योंकि उपयोगकर्ता इनपुट स्ट्रिंग के अंत में कुछ अतिरिक्त रिक्त स्थान रखना पसंद करते हैं। – msi