Jaxb2Marshaller

javaでexcelファイルを読み込む方法として、Jaxb2Marshallerの使い方を示します。JavaアプリケーションでXMLデータとJavaオブジェクト間の相互変換を行うためのSpring Frameworkの一部です。これを使用して、XMLデータをJavaオブジェクトにマーシャリング(変換)またはアンマーシャリング(逆変換)できます。以下は、Jaxb2Marshallerを使った基本的な使い方のステップです。

実装例

pom.xmlに下記追加

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>5.3.9</version> <!– 使用しているSpring Frameworkのバージョンに合わせて変更 –> </dependency>

@Beanを定義

@Configuration
public class AppConfig { @Bean public Jaxb2Marshaller jaxb2Marshaller() {
Jaxb2Marshaller marshaller =
  new Jaxb2Marshaller(); marshaller.setContextPaths(“com.example.model”); // パッケージ名を指定 return marshaller; }
}

実装部

@Service
public class YourServiceClass {

@Autowired
private Jaxb2Marshaller jaxb2Marshaller;

// マーシャリング(JavaオブジェクトからXMLへの変換)の例
public String marshal(Object objectToMarshal) {
StringWriter writer =
new StringWriter(); jaxb2Marshaller.marshal(
objectToMarshal, new StreamResult(writer));
return writer.toString();
}

// アンマーシャリング(XMLからJavaオブジェクトへの変換)の例
public UserDto unmarshal(File xmlFile) {
try {
// FileInputStreamを使用してXMLファイルを読み取る
InputStream inputStream = new FileInputStream(xmlFile);

// Jaxb2Marshallerを使用してXMLファイルをDTOに変換
return (UserDto) jaxb2Marshaller.unmarshal(
new StreamSource(inputStream));
} catch (Exception e) {
// エラーハンドリングを行うことが重要です
e.printStackTrace(); return null;
}
}
}

上記がPOI以外でexcelファイルを読み込む方法となります。もちろん使い方は様々ありますので、その場合は公式ドキュメントを参照いただければと思います。

参考文献

https://spring.pleiades.io/spring-framework/docs/current/javadoc-api/org/springframework/oxm/jaxb/Jaxb2Marshaller.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です