搜档网
当前位置:搜档网 › poi根据excel模板文件导出数据

poi根据excel模板文件导出数据

poi根据excel模板文件导出数据
poi根据excel模板文件导出数据

1.import java.io.File;

2.import java.io.FileInputStream;

3.import java.io.FileNotFoundException;

4.import java.io.FileOutputStream;

5.import java.io.IOException;

6.import java.util.Calendar;

7.import java.util.Date;

8.

9.import https://www.sodocs.net/doc/b310679248.html,ermodel.HSSFCell;

10.import https://www.sodocs.net/doc/b310679248.html,ermodel.HSSFSheet;

11.import https://www.sodocs.net/doc/b310679248.html,ermodel.HSSFWorkbook;

12.import org.apache.poi.poifs.filesystem.POIFSFileSystem;

13.import https://www.sodocs.net/doc/b310679248.html,ermodel.RichTextString;

14./**

15. * 共分为六部完成根据模板导出excel操作:

16. * 第一步、设置excel模板路径(setSrcPath)

17. * 第二步、设置要生成excel文件路径(setDesPath)

18. * 第三步、设置模板中哪个Sheet列(setSheetName)

19. * 第四步、获取所读取excel模板的对象(getSheet)

20. * 第五步、设置数据(分为6种类型数据:setCellStrValue、setCellDateValue、

setCellDoubleValue、setCellBoolValue、setCellCalendarValue、

setCellRichTextStrValue)

21. * 第六步、完成导出(exportToNewFile)

22. *

23. * @author Administrator

24. *

25. */

26.public class ExcelUtil {

27.private String srcXlsPath = "";// // excel模板路径

28.private String desXlsPath = "";

29.private String sheetName = "";

30. POIFSFileSystem fs = null;

31. HSSFWorkbook wb = null;

32. HSSFSheet sheet = null;

33.

34./**

35. * 第一步、设置excel模板路径

36. * @param srcXlsPath

37. */

38.public void setSrcPath(String srcXlsPath) {

39.this.srcXlsPath = srcXlsPath;

40. }

41.

42./**

43. * 第二步、设置要生成excel文件路径

44. * @param desXlsPath

45. */

46.public void setDesPath(String desXlsPath) {

47.this.desXlsPath = desXlsPath;

48. }

49.

50./**

51. * 第三步、设置模板中哪个Sheet列

52. * @param sheetName

53. */

54.public void setSheetName(String sheetName) {

55.this.sheetName = sheetName;

56. }

57.

58./**

59. * 第四步、获取所读取excel模板的对象

60. */

61.public void getSheet() {

62.try {

63. File fi = new File(srcXlsPath);

64.if(!fi.exists()){

65. System.out.println("模板文件:"+srcXlsPath+"不存在!");

66.return;

67. }

68. fs = new POIFSFileSystem(new FileInputStream(fi));

69. wb = new HSSFWorkbook(fs);

70. sheet = wb.getSheet(sheetName);

71. } catch (FileNotFoundException e) {

72. e.printStackTrace();

73. } catch (IOException e) {

74. e.printStackTrace();

75. }

76. }

77.

78./**

79. * 第五步、设置字符串类型的数据

80. * @param rowIndex--行值

81. * @param cellnum--列值

82. * @param value--字符串类型的数据

83. */

84.public void setCellStrValue(int rowIndex, int cellnum, String value) {

85. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

86. cell.setCellValue(value);

87. }

88.

89./**

90. * 第五步、设置日期/时间类型的数据

91. * @param rowIndex--行值

92. * @param cellnum--列值

93. * @param value--日期/时间类型的数据

94. */

95.public void setCellDateValue(int rowIndex, int cellnum, Date value) {

96. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

97. cell.setCellValue(value);

98. }

99.

100./**

101. * 第五步、设置浮点类型的数据

102. * @param rowIndex--行值

103. * @param cellnum--列值

104. * @param value--浮点类型的数据

105. */

106.public void setCellDoubleValue(int rowIndex, int cellnum, double value) {

107. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

108. cell.setCellValue(value);

109. }

110.

111./**

112. * 第五步、设置Bool类型的数据

113. * @param rowIndex--行值

114. * @param cellnum--列值

115. * @param value--Bool类型的数据

116. */

117.public void setCellBoolValue(int rowIndex, int cellnum, boolean value) {

118. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

119. cell.setCellValue(value);

120. }

121.

122./**

123. * 第五步、设置日历类型的数据

124. * @param rowIndex--行值

125. * @param cellnum--列值

126. * @param value--日历类型的数据

127. */

128.public void setCellCalendarValue(int rowIndex, int cellnum, Calendar va lue) {

129. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

130. cell.setCellValue(value);

131. }

132.

133./**

134. * 第五步、设置富文本字符串类型的数据。可以为同一个单元格内的字符串的不同部分设置不同的字体、颜色、下划线

135. * @param rowIndex--行值

136. * @param cellnum--列值

137. * @param value--富文本字符串类型的数据

138. */

139.public void setCellRichTextStrValue(int rowIndex, int cellnum,

140. RichTextString value) {

141. HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum);

142. cell.setCellValue(value);

143. }

144.

145./**

146. * 第六步、完成导出

147. */

148.public void exportToNewFile() {

149. FileOutputStream out;

150.try {

151. out = new FileOutputStream(desXlsPath);

152. wb.write(out);

153. out.close();

154. } catch (FileNotFoundException e) {

155. e.printStackTrace();

156. } catch (IOException e) {

157. e.printStackTrace();

158. }

159. }

160.}

相关主题