使用 Apache POI 处理 Microsoft Office 文档

2015-01-25 POI

##POI 概述

Apache POI 项目的使命是创造和维护 Java API 操纵各种格式的文件,其中包括基于 Office Open XML 标准(OOXML)和微软的OLE 2 Compound Document 格式(OLE2)。总之,你可以使用 Java 读写 MS Excel 文件。此外,您可以使用 Java 读取和写入 MS Word 和 MS PowerPoint 文件。Apache POI 是你的 Java Excel 解决方案(用于Excel 97-2008)。包含了一个完整的 API 用于移植其他 OOXML 和OLE2 格式。

OLE2 文件包括了 Microsoft Office 文件,比如 XLS, DOC, PPT 以及 MFC 的序列化 API 为基础的文件格式。项目提供 OLE2 Filesystem (POIFS)OLE2 Document Properties (HPSF) 等 API。

Office OpenXML Format 是 Microsoft Office 2007 和 2008 中新的基于 XML 的标准。包括 XLSX, DOCX 和 PPTX。该项目提供了一个低级别的 API 使用 openxml4j来支持 Open Packaging Conventions(开放打包约定)。

针对每个 现存的 MS Office 模块组件,试图提供一个共同的高级别 Java api 给 OLE2 和 OOXML 文档格式。Excel (SS=HSSF+XSSF) Word (HWPF+XWPF),PowerPoint (HSLF+XSLF),Outlook (HSMF), Visio (HDGF), TNEF (HMEF), 和 Publisher (HPBF).

该项目尽可能与其他项目合作提供此功能。比如:Cocoon提供 HSSF 的序列化;与Open Office.org合作处理 XLS 格式;和 Tika/ Lucene提供格式解释器。


调试异步加载页面中的js文件

2015-01-17 JavaScript

问题

在使用 EasyUI 时,采用了异步加载 div 页面的方式,来优化页面的性能。但是在浏览器 debug 时,发现 div 页面中的 js 文件是不可见的,即无法断点调试。

比如,我自己写了一个 entMgt 的模块 div页面,里面引用了 entMgt.js

但是 debug ,却见不到该 js 文件

解决

就是在需要调试的 js 文件顶部加一行代码:

//# sourceURL=entMgt.js

搞定

参考引用

  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Errors/Deprecated_source_map_pragma?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default


Spirng 4 、Hibernate 4 事务管理

2015-01-03 Spring Hibernate

建议将 Hibernate SessionFactory 交给 Spring 进行事务管理,在 applicationContext.xml 里面配置

<bean id="sessionFactory"
	class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
	<!-- 数据源 -->
	<property name="dataSource" ref="dataSource" />

	<!-- hibernate的相关属性配置 -->
	<property name="hibernateProperties">
		<props>
		...
</bean>

<!-- 定义事务管理 -->
<bean id="transactionManager"
	class="org.springframework.orm.hibernate4.HibernateTransactionManager">
	<property name="sessionFactory" ref="sessionFactory" />
	<!-- 自动扫描实体对象 com.waylau.entity 的包结构中存放实体类 -->
	<property name="packagesToScan" value="com.waylau.entity" />
</bean>

使用 SessionFactory

@Autowired
private SessionFactory sessionFactory;
 
public Session getSession() {
    return sessionFactory.getCurrentSession();
}



在 Jersey 2 使用 Spring 4

2014-12-30 Spring Jersey

Jersey 提供对 Spring DI 的扩展。使得 Jersey 在使用 Spring bean 时 就像是 JAX-RS 的组件 (比如 资源和提供者) 并且允许 Spring 注入 Jersey 管理的组件中。比如:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import org.springframework.stereotype.Component;

@Component
@Path("/")
public class SomeResource {

    @Transactional
    @GET
    public void updateResource() {
        // ...
    }
}

详见《Jersey 2.x 用户指南》 Chapter 22. Spring DI 使用 Spring 注入


Way Lau

Software Engineer and Full Stack Developer, now work and live in Shenzhen, China. Detail

Donate

See the list of Donors.