Java 令牌上的语法错误,构造位置错误

Java 令牌上的语法错误,构造位置错误,java,eclipse,excel,syntax,apache-poi,Java,Eclipse,Excel,Syntax,Apache Poi,如何修复此错误--->令牌上的语法错误、错误放置的构造 错误在下面指示的行中。 注意:此代码是在web上复制的,并试图将其作为学习工具使用 我正在使用Eclipse 谢谢 导入java.io.File; 导入java.io.FileOutputStream; 导入java.util.Map; 导入java.util.Set; 导入java.util.TreeMap; 导入org.apache.poi.ss.usermodel.Cell; 导入org.apache.poi.ss.usermodel

如何修复此错误--->令牌上的语法错误、错误放置的构造 错误在下面指示的行中。 注意:此代码是在web上复制的,并试图将其作为学习工具使用 我正在使用Eclipse 谢谢

导入java.io.File;
导入java.io.FileOutputStream;
导入java.util.Map;
导入java.util.Set;
导入java.util.TreeMap;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.xssf.usermodel.xssfheet;
导入org.apache.poi.xssf.usermodel.xssf工作簿;
公共类EcellTest22{
//空白工作簿
XSSFWorkbook工作簿=新XSSFWorkbook();
//创建空白工作表
XSSFSheet sheet=workbook.createSheet(“员工数据”);
//需要写入此数据(对象[])
映射数据=新树映射();
//

data.put(“1”,新对象[]{“ID”,“NAME”,“LASTNAME”});您需要将所有语句放在代码块中的声明之后,例如,方法而不是类块。从逻辑上讲,将所有语句放在代码块中可能有意义,但非声明性语句需要包含在新块中

private void processFile() {
    data.put("1", new Object[]{"ID","NAME", "LASTNAME"}); // <--Syntax error  
     ...//snip
  } catch (Exception e) {
     e.printStackTrace();
  } 
}
private void processFile(){

data.put(“1”,新对象[]{“ID”,“NAME”,“LASTNAME”});//将所有代码放在主方法中:

public static void main(String[] args) {
        //All of your code goes here

}

语句(不包括声明)必须在块内执行。似乎您正在对某些代码进行测试,而这并不意味着代码中的实际对象,因此必须将其放在main方法中。

问题已解决。我在Eclipse中创建了一个新项目,添加了POI(jar)到库中,语法错误将不再显示。

在任何方法中粘贴try和catch块。以上问题仅在类中询问try块,这就是为什么您会收到语法错误消息的原因。或深入了解try

public void yourMethod(){    
        try 
         {
           //Write the workbook in file system
           FileOutputStream out = new FileOutputStream(new File("C:\\Documents and Settings\\admin\\Desktop\\imp data\\howtodoinjava_demo.xlsx"));
                    workbook.write(out);
                    out.close();
                    System.out.println("howtodoinjava_demo.xlsx written successfully on disk.");
                } 
                catch (Exception e)
                {
                    e.printStackTrace();
            }
        }

这包括导入语句。显然,这不包括导入语句:)我的意思是说,如果导入语句出现在大括号之间,就会像其他代码一样导致此错误。发生在我身上的是velocity include宏。本体,这也解决了我的问题。有人在同一页上创建了两个类,而ut第一个类之后的第二个类的一个导入语句,没有任何黑色代码(因为导入不会在一个中)。当我将其移回顶部时,错误消失了。我猜它们只能在顶部。
public void yourMethod(){    
        try 
         {
           //Write the workbook in file system
           FileOutputStream out = new FileOutputStream(new File("C:\\Documents and Settings\\admin\\Desktop\\imp data\\howtodoinjava_demo.xlsx"));
                    workbook.write(out);
                    out.close();
                    System.out.println("howtodoinjava_demo.xlsx written successfully on disk.");
                } 
                catch (Exception e)
                {
                    e.printStackTrace();
            }
        }