Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
0b5beb36
Commit
0b5beb36
authored
Mar 25, 2024
by
李秀明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 使用硬编码文件分隔符会导致可移植性问题。
Links
https://docs.qq.com/sheet/DTkRSaWhSZXBlaldN?tab=000008&_t=1711087563249
(No.16)
parent
93eaef2b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
104 additions
and
107 deletions
+104
-107
ExcelUtil.java
.../java/com/yeejoin/equipmanage/common/utils/ExcelUtil.java
+75
-74
WordConverterUtils.java
.../yeejoin/equipmanage/common/utils/WordConverterUtils.java
+9
-9
WordConverterUtils.java
...m/yeejoin/precontrol/common/utils/WordConverterUtils.java
+1
-1
WordConverterUtils.java
...va/com/yeejoin/amos/fas/core/util/WordConverterUtils.java
+9
-9
SocketClient.java
...in/amos/boot/module/jcs/biz/audioToText/SocketClient.java
+9
-13
SpeechTranscriberDemo.java
...odule/jcs/biz/audioToText/util/SpeechTranscriberDemo.java
+1
-1
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-equip-api/src/main/java/com/yeejoin/equipmanage/common/utils/ExcelUtil.java
View file @
0b5beb36
...
...
@@ -17,12 +17,12 @@ import java.util.Map;
/**
*
*
* <pre>
* 导出excel表格工具类
* </pre>
*
*
*
*/
public
class
ExcelUtil
{
...
...
@@ -31,7 +31,7 @@ public class ExcelUtil
private
static
final
String
TITLE
=
"title"
;
/**
*
*
* <pre>
* 根据源数据创建Excel表格
* </pre>
...
...
@@ -59,7 +59,7 @@ public class ExcelUtil
style2
.
setFillForegroundColor
((
short
)
9
);
HSSFFont
font2
=
workbook
.
createFont
();
style2
.
setFont
(
font2
);
for
(
int
i
=
0
;
i
<
dataList
.
size
();
i
++)
{
...
...
@@ -88,7 +88,7 @@ public class ExcelUtil
}
public
static
void
createXSSFExcel
(
String
path
,
String
fileName
,
List
<
String
>
headers
,
List
<
List
<
String
>>
dataList
)
{
File
file
=
new
File
(
path
+
"\\"
+
fileName
);
File
file
=
new
File
(
path
+
File
.
separator
+
fileName
);
if
(!
file
.
isDirectory
())
{
file
.
mkdirs
();
}
...
...
@@ -117,7 +117,7 @@ public class ExcelUtil
style2
.
setFillForegroundColor
((
short
)
9
);
Font
font2
=
sxssfWorkbook
.
createFont
();
style2
.
setFont
(
font2
);
SXSSFRow
row
=
sheet
.
createRow
(
0
);
for
(
int
i
=
0
;
i
<
headers
.
size
();
i
++)
{
SXSSFCell
cell
=
row
.
createCell
(
i
);
...
...
@@ -142,9 +142,9 @@ public class ExcelUtil
}
}
}
/**
*
*
* <pre>
* 输出表格
* </pre>
...
...
@@ -172,9 +172,9 @@ public class ExcelUtil
e
.
printStackTrace
();
}
}
/**
*
*
* <pre>
* 输出表格
* </pre>
...
...
@@ -193,12 +193,12 @@ public class ExcelUtil
response
.
setHeader
(
"Content-disposition"
,
"attachment; filename="
+
name
);
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
int
b
=
0
;
byte
[]
buffer
=
new
byte
[
1024
*
10
];
while
(
b
!=
-
1
){
b
=
inputStream
.
read
(
buffer
);
int
b
=
0
;
byte
[]
buffer
=
new
byte
[
1024
*
10
];
while
(
b
!=
-
1
){
b
=
inputStream
.
read
(
buffer
);
if
(-
1
!=
b
)
{
output
.
write
(
buffer
,
0
,
b
);
output
.
write
(
buffer
,
0
,
b
);
}
}
output
.
flush
();
...
...
@@ -219,7 +219,7 @@ public class ExcelUtil
}
/**
*
*
* <pre>
* 创建盘点结果Excel表格数据
* </pre>
...
...
@@ -311,17 +311,17 @@ public class ExcelUtil
return
workbook
;
}
private
static
void
setBorderStyle
(
CellStyle
style
){
style
.
setBorderBottom
(
BorderStyle
.
THIN
);
style
.
setBorderLeft
(
BorderStyle
.
THIN
);
style
.
setBorderRight
(
BorderStyle
.
THIN
);
style
.
setBorderTop
(
BorderStyle
.
THIN
);
}
@SuppressWarnings
(
"deprecation"
)
private
static
void
setHSSFCellStyle
(
CellStyle
style
){
style
.
setLocked
(
true
);
style
.
setLocked
(
true
);
style
.
setWrapText
(
true
);
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
// 左右居中
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
...
...
@@ -331,11 +331,11 @@ public class ExcelUtil
style
.
setBorderRight
(
BorderStyle
.
THIN
);
style
.
setBorderTop
(
BorderStyle
.
THIN
);
}
/**
* 创建车辆导出Excl,合并表头
*
*
* @param carLists
* @return
*/
...
...
@@ -472,7 +472,7 @@ public class ExcelUtil
}
rangelist
.
forEach
(
e
->
sheet
.
addMergedRegion
(
e
));
for
(
int
r
=
4
;
r
<
carLists
.
size
()+
4
;
r
++)
{
r1
=
sheet
.
createRow
(
r
);
List
<
String
>
list
=
carLists
.
get
(
r
-
4
);
...
...
@@ -509,7 +509,7 @@ public class ExcelUtil
* @return
*/
public
static
Sheet
createProtectiveEquipmentExportExcel
(
Map
<
String
,
List
<
String
>>
headers
,
List
<
List
<
String
>>
contents
,
Map
<
String
,
List
<
String
>>
headers
,
List
<
List
<
String
>>
contents
,
String
sheetName
,
Workbook
workbook
)
{
Sheet
sheet
=
workbook
.
createSheet
(
sheetName
);
...
...
@@ -535,7 +535,7 @@ public class ExcelUtil
firstHeadRow
.
setHeightInPoints
(
30
);
int
firstHeadSize
=
headers
.
get
(
"header1"
).
size
();
int
start
=
4
;
for
(
int
i
=
0
;
i
<
firstHeadSize
;
i
++)
{
String
[]
firstHeadArray
=
headers
.
get
(
"header1"
).
get
(
i
).
split
(
":"
);
...
...
@@ -543,7 +543,7 @@ public class ExcelUtil
//计算所需合并单元格的坐标
rangelist
.
add
(
new
CellRangeAddress
(
1
,
1
,
start
,
start
+
Integer
.
valueOf
(
firstHeadArray
[
1
])-
1
));
for
(
int
j
=
start
;
j
<=
start
+
Integer
.
valueOf
(
firstHeadArray
[
1
])-
1
;
j
++)
{
Cell
firstHeadCell
=
firstHeadRow
.
createCell
(
j
);
...
...
@@ -552,22 +552,22 @@ public class ExcelUtil
//设置单元格宽度自适应
}
start
=
start
+
Integer
.
valueOf
(
firstHeadArray
[
1
]);
//计算下一个标题的单元格起始位置
}
rangelist
.
forEach
(
e
->{
sheet
.
addMergedRegion
(
e
);
//合并单元格
setRegionStyle
(
sheet
,
e
,
style2
);
//添加样式
});
/**********************二级表头**********************/
rangelist
.
clear
();
// 清空合并单元格集合
Row
secondHeadRow
=
sheet
.
createRow
(
2
);
secondHeadRow
.
setHeightInPoints
(
120
);
int
secondHeadSize
=
headers
.
get
(
"header2"
).
size
();
for
(
int
i
=
0
;
i
<
secondHeadSize
;
i
++)
{
String
secondHeadValue
=
headers
.
get
(
"header2"
).
get
(
i
);
...
...
@@ -580,23 +580,23 @@ public class ExcelUtil
firstHeadCell
.
setCellValue
(
secondHeadValue
);
// sheet.setColumnWidth(i, secondHeadValue.getBytes().length*256);//设置单元格宽度自适应
rangelist
.
add
(
new
CellRangeAddress
(
1
,
2
,
i
,
i
));
}
else
}
else
{
sheet
.
setColumnWidth
(
i
,
1536
);
//设置单元格宽度为两个中文宽度
}
}
rangelist
.
forEach
(
e
->{
sheet
.
addMergedRegion
(
e
);
//合并单元格
setRegionStyle
(
sheet
,
e
,
style2
);
//添加样式
});
/**********************填充表格内容第一行**********************/
Row
startContentRow
=
sheet
.
createRow
(
3
);
setFirstContentValue
(
headers
.
get
(
"startContent"
),
style
,
startContentRow
);
sheet
.
addMergedRegion
(
new
CellRangeAddress
(
3
,
3
,
0
,
1
));
/**********************填充表格内容中间**********************/
setMidContentValue
(
contents
,
style
,
sheet
,
4
);
...
...
@@ -615,7 +615,7 @@ public class ExcelUtil
}
return
sheet
;
}
/**
* <pre>
* 消防车辆Excel导出格式(表头只有装备定义名称的均可通用)
...
...
@@ -626,39 +626,39 @@ public class ExcelUtil
* @return
*/
public
static
Sheet
createFireVehicleExportExcel
(
Map
<
String
,
List
<
String
>>
headers
,
List
<
List
<
String
>>
contents
,
Map
<
String
,
List
<
String
>>
headers
,
List
<
List
<
String
>>
contents
,
String
sheetName
,
Workbook
workbook
)
{
Sheet
sheet
=
workbook
.
createSheet
(
sheetName
);
try
{
sheet
.
setDefaultColumnWidth
((
short
)
15
);
/*************************表格内容格式*********************/
CellStyle
style
=
getContentStyle
(
workbook
);
/*************************表头格式**********************/
CellStyle
style2
=
getHeaderStyle
(
workbook
);
/*************************标题格式**********************/
CellStyle
style3
=
getTitleStyle
(
workbook
);
/********************填充标题行************************/
setTitleValue
(
headers
.
get
(
TITLE
),
style3
,
sheet
);
/**********************填充表头**********************/
Row
headRow
=
sheet
.
createRow
(
1
);
headRow
.
setHeightInPoints
(
120
);
setContentValue
(
headers
.
get
(
"header"
),
style2
,
headRow
);
/**********************填充表格内容第一行**********************/
Row
startContentRow
=
sheet
.
createRow
(
2
);
setFirstContentValue
(
headers
.
get
(
"startContent"
),
style
,
startContentRow
);
sheet
.
addMergedRegion
(
new
CellRangeAddress
(
2
,
2
,
0
,
1
));
/**********************填充表格内容中间**********************/
setMidContentValue
(
contents
,
style
,
sheet
,
3
);
/**********************填充表格内容最后一行**********************/
int
titleSize
=
Integer
.
valueOf
(
headers
.
get
(
TITLE
).
get
(
0
).
split
(
":"
)[
1
]);
Row
endContentRow
=
sheet
.
createRow
(
3
+
contents
.
size
());
...
...
@@ -674,9 +674,9 @@ public class ExcelUtil
}
return
sheet
;
}
/**
*
*
* <pre>
* 设置合并后的单元格格式
* </pre>
...
...
@@ -685,7 +685,7 @@ public class ExcelUtil
* @param region
* @param cs
*/
public
static
void
setRegionStyle
(
Sheet
sheet
,
CellRangeAddress
region
,
CellStyle
cs
)
public
static
void
setRegionStyle
(
Sheet
sheet
,
CellRangeAddress
region
,
CellStyle
cs
)
{
for
(
int
i
=
region
.
getFirstRow
();
i
<=
region
.
getLastRow
();
i
++)
{
...
...
@@ -703,9 +703,9 @@ public class ExcelUtil
}
}
}
/**
*
*
* <pre>
* 表格内容格式
* </pre>
...
...
@@ -723,12 +723,12 @@ public class ExcelUtil
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
setBorderStyle
(
style
);
return
style
;
}
/**
*
*
* <pre>
* 最后一行内容格式
* </pre>
...
...
@@ -744,12 +744,12 @@ public class ExcelUtil
style
.
setFont
(
font
);
style
.
setAlignment
(
HorizontalAlignment
.
LEFT
);
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
return
style
;
}
/**
*
*
* <pre>
* 表头格式
* </pre>
...
...
@@ -770,12 +770,12 @@ public class ExcelUtil
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
setBorderStyle
(
style
);
return
style
;
}
/**
*
*
* <pre>
* 标题格式
* </pre>
...
...
@@ -798,9 +798,9 @@ public class ExcelUtil
return
style
;
}
/**
*
*
* <pre>
* 填充标题行内容
* </pre>
...
...
@@ -816,16 +816,16 @@ public class ExcelUtil
String
[]
titleArray
=
datas
.
get
(
0
).
split
(
":"
);
String
titleValue
=
titleArray
[
0
];
int
titleSize
=
Integer
.
valueOf
(
titleArray
[
1
]);
sheet
.
addMergedRegion
(
new
CellRangeAddress
(
0
,
0
,
0
,
titleSize
-
1
));
titleCell
.
setCellValue
(
titleValue
);
titleCell
.
setCellStyle
(
style
);
titleRow
.
setHeightInPoints
(
40
);
titleRow
.
getCell
(
0
).
setCellStyle
(
style
);
}
/**
*
*
* <pre>
* 填充单元格内容(无单元格合并,无数据格式转换)
* </pre>
...
...
@@ -849,9 +849,9 @@ public class ExcelUtil
}
}
}
/**
*
*
* <pre>
* 填充表格内容第一行数据(第4列开始转换为Double数据类型)
* </pre>
...
...
@@ -878,9 +878,9 @@ public class ExcelUtil
}
}
}
/**
*
*
* <pre>
* 填充表格中间内容多行数据(第4列开始转换为Double数据类型)
* </pre>
...
...
@@ -915,9 +915,9 @@ public class ExcelUtil
}
}
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-api/amos-boot-module-equip-api/src/main/java/com/yeejoin/equipmanage/common/utils/WordConverterUtils.java
View file @
0b5beb36
...
...
@@ -16,7 +16,7 @@ import java.io.*;
/**
* 文档转换工具
*
*
* @date
* @author nihuanshan
*
...
...
@@ -26,11 +26,11 @@ public class WordConverterUtils {
/**
* 图片存储相对文档路径
*/
private
static
String
imgPath
=
"\\image\\"
;
private
static
String
imgPath
=
File
.
separator
+
"image"
+
File
.
separator
;
/**
* word文档转html文档
*
*
* @author: nihuanshan
* @date: 2018年12月6日 下午2:55:32
* @param srcFile 原文档
...
...
@@ -50,7 +50,7 @@ public class WordConverterUtils {
}
}
}
/**
* word转html字符串
* @param srcFile
...
...
@@ -69,7 +69,7 @@ public class WordConverterUtils {
/**
* .doc文档转换成html
*
*
* @author: nihuanshan
* @date: 2018年12月6日 下午2:53:43
* @param srcFile
...
...
@@ -114,7 +114,7 @@ public class WordConverterUtils {
}
}
/**
* doc转htmlString
* @param srcFile
...
...
@@ -156,7 +156,7 @@ public class WordConverterUtils {
serializer
.
setOutputProperty
(
OutputKeys
.
METHOD
,
"html"
);
serializer
.
transform
(
domSource
,
streamResult
);
return
stringWriter
.
toString
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -205,9 +205,9 @@ public class WordConverterUtils {
}
}
/**
*docx转htmlString
*docx转htmlString
* @param srcFile
* @param readUrl
* @return
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-precontrol-api/src/main/java/com/yeejoin/precontrol/common/utils/WordConverterUtils.java
View file @
0b5beb36
...
...
@@ -24,7 +24,7 @@ public class WordConverterUtils {
/**
* 图片存储相对文档路径
*/
private
static
String
imgPath
=
"\\image\\"
;
private
static
String
imgPath
=
File
.
separator
+
"image"
+
File
.
separator
;
/**
* word文档转html文档
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-fas-biz/src/main/java/com/yeejoin/amos/fas/core/util/WordConverterUtils.java
View file @
0b5beb36
...
...
@@ -16,7 +16,7 @@ import java.io.*;
/**
* 文档转换工具
*
*
* @date
* @author nihuanshan
*
...
...
@@ -26,11 +26,11 @@ public class WordConverterUtils {
/**
* 图片存储相对文档路径
*/
private
static
String
imgPath
=
"\\image\\"
;
private
static
String
imgPath
=
File
.
separator
+
"image"
+
File
.
separator
;
/**
* word文档转html文档
*
*
* @author: nihuanshan
* @date: 2018年12月6日 下午2:55:32
* @param srcFile 原文档
...
...
@@ -50,7 +50,7 @@ public class WordConverterUtils {
}
}
}
/**
* word转html字符串
* @param srcFile
...
...
@@ -69,7 +69,7 @@ public class WordConverterUtils {
/**
* .doc文档转换成html
*
*
* @author: nihuanshan
* @date: 2018年12月6日 下午2:53:43
* @param srcFile
...
...
@@ -114,7 +114,7 @@ public class WordConverterUtils {
}
}
/**
* doc转htmlString
* @param srcFile
...
...
@@ -156,7 +156,7 @@ public class WordConverterUtils {
serializer
.
setOutputProperty
(
OutputKeys
.
METHOD
,
"html"
);
serializer
.
transform
(
domSource
,
streamResult
);
return
stringWriter
.
toString
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -205,9 +205,9 @@ public class WordConverterUtils {
}
}
/**
*docx转htmlString
*docx转htmlString
* @param srcFile
* @param readUrl
* @return
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/audioToText/SocketClient.java
View file @
0b5beb36
...
...
@@ -5,7 +5,6 @@ import org.slf4j.LoggerFactory;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.OutputStream
;
import
java.net.*
;
...
...
@@ -20,9 +19,9 @@ import static com.yeejoin.amos.boot.module.jcs.biz.audioToText.util.SpeechTransc
public
class
SocketClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SocketClient
.
class
);
private
static
final
String
[]
testFilePath
=
{
"C:\\Users\\DELL\\Desktop\\yuyin\\out1.pcm"
,
"C:\\Users\\DELL\\Desktop\\yuyin\\out.pcm"
,
// * 此处写的文件路径地址不要提交到git, 国网电科院SCA扫描会报告为漏洞: 存在“便携性缺陷”
};
private
static
final
String
filePath
=
""
;
// * 此处写的文件路径地址不要提交到git, 国网电科院SCA扫描会报告为漏洞: 存在“便携性缺陷”
public
static
void
main
(
String
[]
args
)
throws
SocketException
{
SocketClient
socketClient
=
new
SocketClient
();
...
...
@@ -35,15 +34,15 @@ public class SocketClient {
if
(
type
>=
testFilePath
.
length
)
type
-=
1
;
try
(
DatagramSocket
datagramSocket
=
new
DatagramSocket
();
FileInputStream
fis
=
new
FileInputStream
(
new
File
(
"C:\\Users\\DELL\\Desktop\\ffmpeg-4.4-full_build-shared\\bin\\out.pcm"
)
);)
{
FileInputStream
fis
=
new
FileInputStream
(
filePath
);)
{
byte
[]
b
=
new
byte
[
1280
];
int
len
;
while
((
len
=
fis
.
read
(
b
))
>
0
)
{
String
logs
=
String
.
format
(
"send data pack length: %s"
,
len
);
String
logs
=
String
.
format
(
"send data pack length: %s"
,
len
);
logger
.
error
(
logs
);
logger
.
error
(
logs
);
datagramSocket
.
send
(
new
DatagramPacket
(
b
,
b
.
length
,
InetAddress
.
getLocalHost
(),
port
));
datagramSocket
.
send
(
new
DatagramPacket
(
b
,
b
.
length
,
InetAddress
.
getLocalHost
(),
port
));
int
deltaSleep
=
getSleepDelta
(
len
,
16000
);
Thread
.
sleep
(
deltaSleep
);
TimeUnit
.
MILLISECONDS
.
sleep
(
100
);
...
...
@@ -60,17 +59,14 @@ public class SocketClient {
if
(
type
>=
testFilePath
.
length
)
type
-=
1
;
try
(
Socket
socket
=
new
Socket
();
FileInputStream
fis
=
new
FileInputStream
(
new
File
(
testFilePath
[
type
])
);)
{
FileInputStream
fis
=
new
FileInputStream
(
testFilePath
[
type
]
);)
{
socket
.
connect
(
new
InetSocketAddress
(
InetAddress
.
getLocalHost
().
getHostAddress
(),
port
));
OutputStream
outputStream
=
socket
.
getOutputStream
();
byte
[]
b
=
new
byte
[
4096
];
int
len
;
while
((
len
=
fis
.
read
(
b
))
>
0
)
{
String
logs
=
String
.
format
(
"send data pack length: %s"
,
len
);
logger
.
error
(
logs
);
String
logs
=
String
.
format
(
"send data pack length: %s"
,
len
);
logger
.
error
(
logs
);
outputStream
.
write
(
b
);
TimeUnit
.
MILLISECONDS
.
sleep
(
200
);
}
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/audioToText/util/SpeechTranscriberDemo.java
View file @
0b5beb36
...
...
@@ -220,7 +220,7 @@ public class SpeechTranscriberDemo {
System.exit(-1);
}*/
//本案例使用本地文件模拟发送实时流数据。您在实际使用时,可以实时采集或接收语音流并发送到ASR服务端。
String
filepath
=
"
C:\\Users\\DELL\\Desktop\\ffmpeg-4.4-full_build-shared\\bin\\1839.pcm"
;
String
filepath
=
"
"
;
// * 此处写的文件路径地址不要提交到git, 国网电科院SCA扫描会报告为漏洞: 存在“便携性缺陷”
SpeechTranscriberDemo
demo
=
new
SpeechTranscriberDemo
(
appKey
,
id
,
secret
,
url
);
demo
.
process
(
filepath
);
demo
.
shutdown
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment