我正在编写一个 Java 程序,我想在其中检索具有行标题的数据。我的 Excel 工作表如下所示:
我编写了以下简单的 Java 代码来根据行标题顺序检索值:
....
try
{
fileSystem = new POIFSFileSystem (inpStrm);
HSSFWorkbook workBook = new HSSFWorkbook (fileSystem);
HSSFSheet sheet = workBook.getSheetAt(0);
int column = 1;
for(int i = 0;i <=3;i++){
for(int j = 0;j<=3;j++){
HSSFRow row = sheet.getRow(j);
System.out.print(row.getCell(column).getStringCellValue() + " ");
}
System.out.println("");
column++;
}
}
catch(Exception e){
e.printStackTrace();
}
....
Run Code Online (Sandbox Code Playgroud)
运行代码后,我的输出如下所示:
P1 M C1 Hyderabad
P2 M C2 Pune
P3 F C3 Pune
P4 M C4 Hyderabad
Run Code Online (Sandbox Code Playgroud)
现在有没有简单可行的方法可以对大型 Excel 工作表(50 行标题)执行相同的操作?
如果我使用具有以上四个属性的 POGO …
我有一个 xml 文件,其中的数据如下所示:
....
<ems:MessageInformation>
<ecs:MessageID>2147321820</ecs:MessageID>
<ecs:MessageTimeStamp>2016-01-01T04:38:33</ecs:MessageTimeStamp>
<ecs:SendingSystem>LD</ecs:SendingSystem>
<ecs:ReceivingSystem>CH</ecs:ReceivingSystem>
<ecs:ServicingFipsCountyCode>037</ecs:ServicingFipsCountyCode>
<ecs:Environment>UGS-D8UACS02</ecs:Environment>
</ems:MessageInformation>
....
Run Code Online (Sandbox Code Playgroud)
还有许多其他节点。所有节点都有 ecs、tns、ems 等命名空间。我正在使用以下代码部分来提取没有命名空间的所有节点名称。
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException, TransformerException {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File("C:\\Users\\DadMadhR\\Desktop\\temp\\EDR_D3A0327.XML"));
NodeList nodeList = document.getElementsByTagName("*");
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
//System.out.println(node.getNodeName());
System.out.println(node.getLocalName());
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我执行这段代码时,它为单个节点打印 null 。有人可以告诉我我在这里做错了什么吗?
我在互联网上阅读,我了解到 node.getLocalName() 将给出没有命名空间的节点名称。那么我的情况有什么问题吗?
我正在编写一个java程序,我必须从XML文件中获取数据并将其放入excel文件中.在执行此操作时,我必须创建行标题并相应地添加数据.
我知道如何创建列标题.我可以通过以下方式完成:
....
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("EDR Raw Data");
Row header = sheet.createRow(0);
header.createCell(0).setCellValue("Header1");
header.createCell(1).setCellValue("Header2");
header.createCell(2).setCellValue("Header3");
header.createCell(3).setCellValue("Header4");
....
Run Code Online (Sandbox Code Playgroud)
但我希望我的excel文件如下所示:
我没有办法做到这一点.单独创建所需数量的行并不是一个好主意.有什么方法可以创建一个列并在该列中添加所有标题?
我尝试这样做的方式是:
....
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("EDR Raw Data");
sheet.createRow(0).createCell(0).setCellValue("header1");
sheet.createRow(1).createCell(0).setCellValue("header2");
sheet.createRow(2).createCell(0).setCellValue("header3");
sheet.createRow(3).createCell(0).setCellValue("header4");
...
Run Code Online (Sandbox Code Playgroud)
但就我而言,我必须提供100多个行标签.所以这不是有效的方式.
我正在编写一个脚本,我必须从字符串中读取交替的字符.
我使用以下方法:
$s = "abcdef"
$chars = $s.ToCharArray()
For( $i = 0; $i -lt $chars.Count; $i = $i + 2){
$chars[$i]
}
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法,尤其是基于管道的方法?
我有java类,其中包含以下所有常量:
public final class CategoryIDs {
public static final String Extraction_of_natural_gas = "1111";
public static final String Mining_of_hard_coal = "2222";
public static final String Mining_of_iron_ores = "3333";
public static final String Mining_of_lignite = "4444";
}
Run Code Online (Sandbox Code Playgroud)
现在我想通过一个包含变量名称的变量来访问其他类中的这些常量.
例如:
String temp = "Extraction_of_natural_gas";
Run Code Online (Sandbox Code Playgroud)
使用这个临时变量我想从上面的类访问常量.但我不能做 CategoryIDs.temp,因为它是不允许的.那么实现这一目标的最佳方法是什么?
我使用下面的代码在PostgreSQL中创建了一个数据类型:
CREATE TYPE ABC AS (A CHARACTER(1), B CHARACTER(2), C BIGINT);
Run Code Online (Sandbox Code Playgroud)
我没有定义这个数据类型.现在我想删除这个原型.删除它的方式或命令是什么?
在我的jsp表单页面中,我有两个提交按钮“保存”和“取消”。当我单击这两个按钮时,它会验证表单。我尝试为取消按钮添加关键字“formnovalidate”。但它不起作用。
这里我提到了我的按钮代码:
<form id = "myForm" method="POST" onsubmit="return validateForm()" >
..........
<tr >
<td class="td_left"><input type="submit" value="save" onclick="form.action='${pageContext.servletContext.contextPath}/insert'"/></td>
<td class="td_right"><input type="submit" value="Cancel" onclick="form.action='${pageContext.servletContext.contextPath}/home'" formnovalidate /></td>
</tr>
................
</form>
Run Code Online (Sandbox Code Playgroud)
验证:
function validateForm() {
var x = document.forms["myForm"]["spcrId"].value;
if (x == null || x == "") {
alert("SPCR ID must be filled out");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
禁用“取消”按钮的表单验证的方法是什么?
我编写了一个Java程序,该程序使用Google Analytic API检索到目前的Google数据并将其导出为CSV文件。我希望该程序每天运行,以便CSV文件中的数据是最新的。我该如何实现?
java ×5
apache-poi ×2
excel ×2
character ×1
field ×1
forms ×1
javascript ×1
jquery ×1
jsp ×1
postgresql ×1
powershell ×1
sql ×1
string ×1
windows ×1
xml ×1