将excel的特定列读取到java程序中

2024-02-21

我需要读取 Excel 工作表的特定列,然后在 java 中声明变量。我所做的程序读取Excel工作表的全部内容。但我需要读像C这样的固定专栏。

这就是我所做的:

import java.io.File;
import java.io.IOException;
import jxl.Cell; 
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class JavaApplication4 
{

private String inputFile;
String[][] data = null;
public void setInputFile(String inputFile) 
{
    this.inputFile = inputFile;
}

public String[][] read() throws IOException  
{
    File inputWorkbook = new File(inputFile);
    Workbook w;

    try 
    {
        w = Workbook.getWorkbook(inputWorkbook);
        // Get the first sheet


        Sheet sheet = w.getSheet(0);
        data = new String[sheet.getColumns()][sheet.getRows()];
        // Loop over first 10 column and lines
   //     System.out.println(sheet.getColumns() +  " " +sheet.getRows());
        for (int j = 0; j <sheet.getColumns(); j++) 
        {
            for (int i = 0; i < sheet.getRows(); i++) 
            {
                Cell cell = sheet.getCell(j, i);
                data[j][i] = cell.getContents();
              //  System.out.println(cell.getContents());
            }
        }

       for (int j = 0; j < data.length; j++) 
        {
            for (int i = 0; i <data[j].length; i++) 
            {

                System.out.println(data[j][i]);
            }
        } 

    } 

    catch (BiffException e) 
    {
        e.printStackTrace();
    }
return data;
}

public static void main(String[] args) throws IOException 
{
    JavaApplication4 test = new JavaApplication4();
    test.setInputFile("C://users/admin/Desktop/Content.xls");
    test.read();
}

}

这是我的Excel表,

从一碗编号的小纸片中/@v1@/ to /@v2@/,随机抽取一张单张。求所抽中的数字是以下数字的倍数的概率/@v3@/ or /@ v4@/?

我需要读取这些数据并通过匹配模式/@v1@1,我需要声明变量。我怎样才能做到这一点?


您可以做什么,您应该首先使用sheet.getColumns()从工作表中获取所有列并将所有列存储在 list 中。然后您可以根据列匹配获取所有值。或者您只能获取“C”列。尝试使用下面的代码。让我知道这个是否奏效。

int masterSheetColumnIndex = sheet.getColumns();
    List<String> ExpectedColumns = new ArrayList<String>();
    for (int x = 0; x < masterSheetColumnIndex; x++) {
        Cell celll = sheet.getCell(x, 0);
        String d = celll.getContents();
        ExpectedColumns.add(d);
    }
    LinkedHashMap<String, List<String>> columnDataValues = new LinkedHashMap<String, List<String>>();

    List<String> column1 = new ArrayList<String>();
    // read values from driver sheet for each column
    for (int j = 0; j < masterSheetColumnIndex; j++) {
        column1 = new ArrayList<String>();
        for (int i = 1; i < sheet.getRows(); i++) {
            Cell cell = sheet.getCell(j, i);
            column1.add(cell.getContents());
        }
        columnDataValues.put(ExpectedColumns.get(j), column1);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将excel的特定列读取到java程序中 的相关文章

  • 序列化 ArrayList

    我正在尝试编写一个 Android 游戏 即使用户想要返回主菜单或者活动被系统终止 我也希望能够暂停游戏 onSaveInstanceState 似乎并没有给我很大的控制权来决定何时可以读回捆绑包 而且据我所知 捆绑包仅在短时间内有效 所以
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • 将更改(永久)保存在数组列表中?

    那可能吗 例如 用户将新的项目 元素添加到数组列表 缓冲读取器进程 中 并且肯定会发生更改 我的问题是 即使用户多次更改数组列表 它也可能会永久存在 即使他们关闭程序并再次打开它 它也会一直存在 注意 不使用 txt 很抱歉问这样的问题 但
  • 如何知道内存中是否已经存在类的实例?

    如何知道内存中是否已经存在类的实例 我的问题是 如果存在类实例 则不想读取方法 这是我的代码 private void jButton java awt event ActionEvent evt PNLSpcMaster pnlSpc n
  • 内部/匿名类的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 匿名类和静态内部类的最佳实践 设计和性能方面 是什么 就我个人而言 我认为静态内部类提供了更好的封装 并且应该提供更好的性能 因为它们无法访问类
  • 如何在 Java 中复制对象?

    考虑下面的代码 DummyBean dum new DummyBean dum setDummy foo System out println dum getDummy prints foo DummyBean dumtwo dum Sys
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • 如何确定 JDialog 显示在哪个屏幕上

    我有一个非常大的应用程序 有多个对话框 我的任务是确保不完全可见的对话框 因为用户将其从可见屏幕区域拉出 移回屏幕中心 当我只处理一个屏幕时 这没问题 它工作得很好 但是 该应用程序的大多数用户的桌面上都有两个屏幕 当我尝试找出对话框显示在
  • 竞争条件和 Clojure Atoms

    clojure atom 的文档指出 Changes to atoms are always free of race conditions 然而 竞争条件不仅是根据更改定义的 而且是在不同线程中并行逻辑操作的上下文中定义的 我想知道 保证
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • 错误包括 bouncycastle 提供商

    我需要使用bouncycastle provider我的项目中的库 我已将其包含在 gradle 项目中 apply plugin application sourceCompatibility 1 6 version 1 0 0 main
  • 用二进制数、常规数字和格雷编码填充矩阵

    我有一个包含 1 s 或 0 s 的矩阵 用于创建二进制数 其宽度为n 对于 n 2 和 n 3 它看起来像 00 000 01 001 10 010 11 011 100 101 110 111 等等 现在我正在使用以下代码来生成它 in
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • 如何让 Camel FTP 按需只获取一次

    我对骆驼还很陌生 我一直在尝试让 Camel 根据需要仅通过 FTP 获取单个文件一次 我无法让它发挥作用 这是我尝试过的 让我知道什么是最好的方法以及我的代码有什么问题 1 读取文件后发送一条空消息当收到空消息时 停止路由 from di
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • 使用 SimpleDateFormat、Java 进行错误的日期解析

    我需要使用日期模式 yyyy MM dd 解析输入字符串中的日期 如果日期采用任何其他格式 则抛出错误 这是我解析日期的代码 private void validateDate throws MyException Date parsedD
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • 与手动搜索列表相比,Collections.binarySearch 的性能如何?

    我想知道该使用哪一个 我有一份学生名单 我想用他的名字搜索一个学生 到目前为止 我是通过迭代列表手动完成的 如下所示 for int i 0 i lt list size i Student student list get i if st

随机推荐

  • 为什么人们会考虑使用代理键而不是自然键和 ON UPDATE CASCADE ?

    免责声明 这与其他主题不是同一个问题 使用自然键时我们面临的缺点之一是 如果业务逻辑发生变化并且我们需要更改一个键 则需要将这一更改传播到所有链接表 然而 使用一个关于级联更新 https stackoverflow com questio
  • Powershell 5 类的 Pester 模拟方法

    我在尝试模拟 powershell 5 类方法时遇到问题 在执行测试时 出现错误 CommandNotFoundException 无法找到 Command FunctionToMock 我试图通过模拟 FunctionToMock 来对
  • '__proxy__' 对象在 CreateView 中没有属性 'get'

    所以我认为这不是正确的做事方式 但我正在尝试学习 django 并且我正在尝试一些事情 我正在尝试为我的设置一个外键Formula模型 通过在实例中硬编码maker Models class Cooker models Model name
  • 具有更高种类类型的类的自类型注释

    Given abstract class Databases F 我怎样才能让这个特质发挥作用 Marker trait signalling the database plugin supports StaticRoles trait S
  • 仅 Web API v2 项目的 HttpContext.Current.User null

    我的目标是将 IWA 集成 Windows 身份验证 与 NET Web API 结合使用 我想将该项目保留为 Web API 项目 而不使用 MVC 我在 Visual Studio 2013 Premium 中创建了两个项目 第一个我选
  • 已处理的 RoutedEvent 继续在树中冒泡

    我正在开发一个TreeView基于控制和我的双击事件继续冒泡我的TreeViewItem nodes 目标是拥有TreeViewItem双击时展开或折叠 我有一种样式 将事件处理程序应用于MouseDoubleClick事件给每个TreeV
  • Swing 不显示 unicode 字符

    I ve got some non ascii characters I m trying to display in a Swing JComboBox The characters aren t displaying correctly
  • 通过 Git 部署的计划 Azure WebJob 导致按需作业

    我有一个支持 Git 的 ASP NET WebApp 以及一个关联的 Azure WebJob 当我通过 Visual Studio 部署它时 一切都很好 但这在持续交付环境中有点困难 所以我想通过 Git 发布 Web 应用程序和 We
  • Kafka 流处理器上下文中的周期性 NPE

    使用 kafka streams 0 10 0 0 在转发消息时 我会定期在 StreamTask 中看到空指针异常 它在 10 到 50 的调用之间变化 NPE 发生在这个方法中 public
  • 适用于 Windows 的 Docker 的 Docker 日志(驱动程序 json 文件)位置

    我想找到容器的日志位置 I use 适用于 Windows 的 Docker 桌面 我知道在linux上他们在 var lib docker containers 但它在哪里呢 它是否隐藏在无法访问的虚拟机中的某个位置 Windows 10
  • VueJS 与 HAML/Jade/Pug 类似的模板

    我同时使用 Vue js 和HAML https www npmjs com package haml在我当前的项目中 模板由 HAML 解析 转换为 HTML 然后由 Vue 解析 例如 pagecontent nonscrolling
  • Spring JPA 选择特定列

    我正在使用 Spring JPA 执行所有数据库操作 但是我不知道如何从 Spring JPA 中的表中选择特定列 例如 SELECT projectId projectName FROM projects 您可以使用 Spring Dat
  • 使用nodemailer在node.js中发送邮件

    我正在尝试使用 Nodemailer 在 node js 中发送邮件 但它显示一些错误 例如 Error self signed certificate in certificate chain code ECONNECTION comma
  • 将 css 边框设置为 90 度而不是 45 度角

    我有一个 div 其 border bottom 和 border right 属性具有不同的颜色 因此 它们通过一条线分开 使盒子呈 45 度角 如何使底部边框更短 以便右边框一直延伸到元素的底部 从而产生 90 度角分隔线 你可以这样做
  • 是否可以将 vb.net 源代码转换为 C++ 代码?

    是否有任何工具将 vb net 源代码转换为 C 例如 gnu C 我知道 Mono 可以将项目转移到不同的平台 但我宁愿转换源代码 既然我们都知道 net 使用自己的二进制库 其他编译器无法使用 是否有任何工具至少可以将 vb net 转
  • 如何在 wiki api 中获取图像 URL?

    当我调用 wiki API 来访问图像 URL 时 我得到这样的图像 URL File Ad tech London 2010 2 JPG 如何从 wiki API 获取该文件的正确 URL 除此之外 关于图像 缩略图 URL 的文档很少T
  • 如何定义 Apache Airflow DAG 的超时?

    我使用的是 Airflow 1 10 2 但 Airflow 似乎忽略了我为 DAG 设置的超时 我正在使用以下命令为 DAG 设置超时期限dagrun timeout参数 例如 20 秒 我有一个需要 2 分钟才能运行的任务 但 Airf
  • 在php中与google的搜索api通信时启动参数的最大值是多少?

    这是我的代码 function doGoogleSearch searchTerm start endpoint web key url http ajax googleapis com ajax services search endpo
  • 使用 Java SE 功能的 BlackBerry 问题

    我已将 net rim api jar 导入到我的项目中 我还想使用标准 rt jar 中的 StringTokenizer 和 PrintWriter 等非 j2me 类 但是当我运行该应用程序时 它给出了错误 java io UTFDa
  • 将excel的特定列读取到java程序中

    我需要读取 Excel 工作表的特定列 然后在 java 中声明变量 我所做的程序读取Excel工作表的全部内容 但我需要读像C这样的固定专栏 这就是我所做的 import java io File import java io IOExc