0

下面是我的代码,它将从 URL 读取行并输出它。我想知道如何在 excel 中输出行号,例如行号。

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Scanner;


public class helloworld {

    public static void main(String[] args) throws IOException {
        URL yahh = new URL("https://docs.google.com/spreadsheet/pub?key=0AqSBI1OogE84dDJyN0tyNHJENkNyYUgyczVLX0RMY3c&single=true&gid=0&range=A2%3AA200&output=txt");
        BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    yahh.openStream()));

        String inputLine;

        while ((inputLine = in.readLine()) != null)

            System.out.println(inputLine);

        in.close();

    }
}

当前输出为:

11111
22222
33333
44444
55555
66666
77777
88888
99999
100000

我希望它是

1   11111
2   22222
3   33333
4   44444
5   55555
6   66666
7   77777
8   88888
9   99999
10  100000
4

4 回答 4

4

在每次迭代时在循环中声明一个line number变量和它:increment

 int line=0;
 while((inputLine = in.readLine()) != null){
       line++;
       System.out.println(line + "\t" + inputLine); 
    }
于 2012-11-27T21:51:35.950 回答
1

使用变量作为输出中的行数,由制表符分隔:

    int rowCount = 1;
    while ((inputLine = in.readLine()) != null){
        System.out.println(rowCount +"\t" + inputLine);
        rowCount ++;
    }    
于 2012-11-27T21:51:55.170 回答
1

你应该使用标签

int i = 1;
while ((inputLine = in.readLine()) != null)
  System.out.println(i++ + "\t" + inputLine);
于 2012-11-27T21:52:09.857 回答
1

如果您确定永远不会有大量数字,则可以使用选项卡,如下所示:

 int line=0;
 while ((inputLine = in.readLine()) != null){
       line++;
            System.out.println(line + "\t" + inputLine); 
    }

如果你想确保防止非常大的数字,你可以做一些更花哨的事情,比如:

 int line=0;
 while ((inputLine = in.readLine()) != null){
       line++;
            System.out.println(String.format("%8s%s",line,inputLine)); 
    }

其中数字8-1=7是您期望拥有的最多位数。

除此之外,您必须想出一个非常复杂的答案,基本上循环一次以检测最大尺寸数,然后从那里开始。但我会把它作为练习留给读者;-)

于 2012-11-27T21:52:16.323 回答