读取微软Project存盘文件的Java代码
时间: 2024-04-29 20:23:36 浏览: 147
由于微软Project存盘文件使用的是二进制格式,因此读取需要使用相应的库。以下是一份使用Apache POI库读取Project文件的Java代码示例:
```java
import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.DocumentInputStream;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import java.io.FileInputStream;
import java.io.IOException;
public class ProjectReader {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("path/to/project.mpp");
POIFSFileSystem fileSystem = new POIFSFileSystem(fis);
// 获取DocumentSummaryInformation和SummaryInformation
DocumentSummaryInformation dsi = fileSystem.getDocumentSummaryInformation();
SummaryInformation si = fileSystem.getSummaryInformation();
// 打印文档信息
System.out.println("标题:" + si.getTitle());
System.out.println("主题:" + si.getSubject());
System.out.println("作者:" + si.getAuthor());
System.out.println("关键字:" + si.getKeywords());
System.out.println("注释:" + si.getComments());
System.out.println("创建时间:" + si.getCreateDateTime());
System.out.println("修改时间:" + si.getLastSaveDateTime());
// 读取工作表
DocumentInputStream dis = fileSystem.createDocumentInputStream("Workbook");
HSSFWorkbook workbook = new HSSFWorkbook(dis);
Sheet sheet = workbook.getSheetAt(0);
// 遍历行和列
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(cell.toString() + "\t");
}
System.out.println();
}
fis.close();
}
}
```
需要注意的是,该代码使用的是Apache POI的旧版本,如果要使用最新的POI库,可能需要做出一些调整。
阅读全文