当前位置: 首页 > 知识库问答 >
问题:

Java代码未打印excel文件中的所有行

杨腾
2023-03-14

我有一个6663行的excel文件。我想读取excel文件中的所有行和列,并在eclipse中的控制台上打印出来。以下是我努力实现的目标:

public class ExcelReader {
    public static final String SAMPLE_XLSX_FILE_PATH = "K:\\Documents\\Project\\Netword_GUI\\Netword_GUI\\src\\libs\\cc2017.xlsx";

    public static void main(String[] args) throws IOException, InvalidFormatException {

        // Creating a Workbook from an Excel file (.xls or .xlsx)
        Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));

        // Retrieving the number of sheets in the Workbook
        System.out.println("Workbook has " + workbook.getNumberOfSheets() + " Sheets : ");

        /*
           =============================================================
           Iterating over all the sheets in the workbook (Multiple ways)
           =============================================================
         */

        // You can obtain a sheetIterator and iterate over it
        Iterator<Sheet> sheetIterator = workbook.sheetIterator();
        System.out.println("Retrieving Sheets using Iterator");
        while (sheetIterator.hasNext()) {
            Sheet sheet = sheetIterator.next();
            //System.out.println(sheet.getRow(0));
            System.out.println("=> " + sheet.getSheetName());
        }
        // Getting the Sheet at index zero
        Sheet sheet = workbook.getSheetAt(0);

        // Create a DataFormatter to format and get each cell's value as String
        DataFormatter dataFormatter = new DataFormatter();

        // You can obtain a rowIterator and columnIterator and iterate over them
        System.out.println("\n\nIterating over Rows and Columns using Iterator\n");
        Iterator<Row> rowIterator = sheet.rowIterator();
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();

            // Now let's iterate over the columns of the current row
            Iterator<Cell> cellIterator = row.cellIterator();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                String cellValue = dataFormatter.formatCellValue(cell);
                System.out.print(cellValue + "\t");
            }
            System.out.println();
        }
        if (sheet.getActiveCell() == null) {
            // Closing the workbook
            workbook.close();

        }
    }
}

此代码的目的是显示所有行和列。目前,这段代码只显示大约200行,但这些行的所有列都按预期显示。它似乎也以随机顺序显示行,尽管每次我运行它时,相同的行都以相同的随机顺序显示。如果能以正确的顺序显示所有6663行,包括标题(第一行),我将不胜感激。提前谢谢你。

共有1个答案

干子瑜
2023-03-14

如果您在Eclipse中运行它,您可能达到了控制台输出大小的限制。

 类似资料:
  • 问题内容: 我想打印文件的内容,但是所有以#开头的行都想忽略。我正在尝试使用grep和awk进行操作,但是它一直在打印整个文件,或者只是打印以#开头的行。我可以以正确的方式推动我,也可以使用grep / awk命令在不以#开头的文件中打印任意行。 问题答案: 使用选项可以否定条件:

  • 问题内容: 我需要使用javascript从HTML内的目录中打印所有txt文件。我试图修改处理照片的代码,但未成功 问题答案: 您可以使用与属性集,属性设置为;事件; ,循环。 您还可以使用和属性在chrome,chrome上进行目录上传;在偏好设置为每晚45+或firefox42+的情况下,选择和删除文件和/或要解析的文件夹。注意,您也可以从文件管理器中的元素删除文件夹 对于可以在铬,铬协议本

  • 问题内容: 我有一堂课,其中包含有关Person的信息,看起来像这样: 我想返回所有变量。我试图使用反射来实现它,如该问题所示,但我无法打印实例变量。 解决此问题的正确方法是什么? 问题答案: 从实现toString:

  • $ gdb -q `which gdb` (gdb) l 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18

  • 已创建输出文件,但未写入数字。 程序应读取一个文件,然后创建一个输出文件,该文件反向打印输入文件中的数字。 实际结果只显示文件,但文件中没有写入任何内容。

  • 问题内容: 我试图简单地在ConcurrentHashMap中打印所有键/值对。 我在网上发现了我认为可以做到的代码,但似乎正在获取有关存储桶/哈希码的信息。老实说,实际上输出的结果很奇怪,可能是我的程序不正确,但是我首先要确保这部分是我要使用的部分。 这给出了大约10个不同键的输出,计数似乎是映射中总插入次数的总和。 问题答案: 我测试了您的代码并正常工作。我添加了一个小演示,它用另一种方式打印