Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
Asistencia
Overview
Overview
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
Billy Larru
Asistencia
Commits
8ab85aae
Commit
8ab85aae
authored
6 years ago
by
Billy Larru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
exportando excel con la libreria apache-poi
parent
816253b7
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
240 additions
and
8 deletions
+240
-8
pom.xml
pom.xml
+6
-7
RequestsFilter.java
src/main/java/asistencia/filters/RequestsFilter.java
+1
-1
CrearExcel.java
src/main/java/asistencia/servlets/CrearExcel.java
+96
-0
PoliciasServlet.java
src/main/java/asistencia/servlets/PoliciasServlet.java
+37
-0
ExcelHelper.java
src/main/java/asistencia/utilities/ExcelHelper.java
+92
-0
web.xml
src/main/webapp/WEB-INF/web.xml
+8
-0
No files found.
pom.xml
View file @
8ab85aae
...
...
@@ -27,13 +27,6 @@
<artifactId>
json
</artifactId>
<version>
20180130
</version>
</dependency>
<dependency>
<groupId>
com.microsoft.sqlserver
</groupId>
<artifactId>
sqljdbc4
</artifactId>
<version>
4.0
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
io.github.cdimascio
</groupId>
...
...
@@ -41,6 +34,12 @@
<version>
3.1.1
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
3.16
</version>
</dependency>
</dependencies>
<build>
...
...
This diff is collapsed.
Click to expand it.
src/main/java/asistencia/filters/RequestsFilter.java
View file @
8ab85aae
...
...
@@ -76,7 +76,7 @@ public class RequestsFilter implements Filter {
for
(
int
i
=
0
;
i
<
urls
.
length
();
i
++)
{
vistas
.
add
(
urls
.
get
(
i
));
}
vistas
.
add
(
"main.jsp"
);
String
ruta
=
request
.
getRequestURI
();
int
indice
=
GeneralUtils
.
obtenerIndex
(
ruta
);
String
rutaJsp
=
ruta
.
substring
(
indice
,
ruta
.
length
());
...
...
This diff is collapsed.
Click to expand it.
src/main/java/asistencia/servlets/CrearExcel.java
0 → 100644
View file @
8ab85aae
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
asistencia
.
servlets
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.TreeMap
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
/**
*
* @author sistem19user
*/
public
class
CrearExcel
{
public
static
void
main
(
String
args
[])
{
//Crear libro de trabajo en blanco
Workbook
workbook
=
new
HSSFWorkbook
();
//Crea hoja nueva
Sheet
sheet
=
workbook
.
createSheet
(
"Reporte de montos"
);
CellStyle
headerStyle
=
workbook
.
createCellStyle
();
headerStyle
.
setFillForegroundColor
(
IndexedColors
.
AQUA
.
getIndex
());
headerStyle
.
setFillPattern
(
CellStyle
.
SOLID_FOREGROUND
);
String
[]
headers
=
{
"Identificador"
,
"Nombre"
,
"Apellidos"
};
Row
headerRow
=
sheet
.
createRow
(
0
);
for
(
int
i
=
0
;
i
<
headers
.
length
;
++
i
)
{
String
header
=
headers
[
i
];
Cell
cell
=
headerRow
.
createCell
(
i
);
cell
.
setCellStyle
(
headerStyle
);
cell
.
setCellValue
(
header
);
}
Object
[][]
data
=
new
Object
[][]{
new
Object
[]{
1
,
"María"
,
"Remen"
},
new
Object
[]{
2
,
"David"
,
"Allos"
},
new
Object
[]{
3
,
"Carlos"
,
"Caritas"
}
};
int
i
=
0
;
for
(
String
header:
headers
){
Cell
cell
=
headerRow
.
createCell
(
i
++);
cell
.
setCellStyle
(
headerStyle
);
cell
.
setCellValue
(
header
);
}
i
=
1
;
Row
row
;
for
(
Object
[]
array:
data
){
row
=
sheet
.
createRow
(
i
++);
Cell
cell
;
int
j
=
0
;
for
(
Object
value:
array
){
cell
=
row
.
createCell
(
j
++);
if
(
value
instanceof
Integer
){
cell
.
setCellValue
(
Integer
.
parseInt
(
value
.
toString
()));
}
else
if
(
value
instanceof
String
){
cell
.
setCellValue
(
value
.
toString
());
}
else
if
(
value
instanceof
Double
){
cell
.
setCellValue
(
Double
.
parseDouble
(
value
.
toString
()));
}
else
if
(
value
instanceof
Boolean
){
cell
.
setCellValue
((
boolean
)
value
);
}
else
{
cell
.
setCellValue
(
value
.
toString
());
}
}
}
sheet
.
createFreezePane
(
0
,
1
);
try
{
//Se genera el documento
FileOutputStream
out
=
new
FileOutputStream
(
new
File
(
"D:/ejemplo.xls"
));
workbook
.
write
(
out
);
out
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
This diff is collapsed.
Click to expand it.
src/main/java/asistencia/servlets/PoliciasServlet.java
0 → 100644
View file @
8ab85aae
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
asistencia
.
servlets
;
import
asistencia.utilities.ExcelHelper
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.PrintWriter
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServlet
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
public
class
PoliciasServlet
extends
HttpServlet
{
@Override
protected
void
service
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
ServletException
,
IOException
{
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename=sample.xls"
);
OutputStream
output
=
response
.
getOutputStream
();
ExcelHelper
excel
=
new
ExcelHelper
(
output
);
String
[]
headers
=
{
"id"
,
"nombres"
,
"apellidos"
,
"edad"
};
Object
[][]
data
=
new
Object
[][]{
new
Object
[]{
"1"
,
"Felipe"
,
"Escala"
,
"22"
},
new
Object
[]{
"2"
,
"Luis"
,
"Gangas"
,
"23"
},
};
excel
.
setHeaders
(
headers
);
excel
.
setSheetName
(
"Pruebas"
);
excel
.
setData
(
data
);
excel
.
generate
();
}
}
This diff is collapsed.
Click to expand it.
src/main/java/asistencia/utilities/ExcelHelper.java
0 → 100644
View file @
8ab85aae
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
asistencia
.
utilities
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
/**
*
* @author sistem19user
*/
public
class
ExcelHelper
{
private
String
[]
headers
;
private
Object
[][]
data
;
private
OutputStream
output
;
private
String
sheetName
;
public
ExcelHelper
(
OutputStream
output
)
{
this
.
output
=
output
;
}
public
void
setHeaders
(
String
[]
headers
)
{
this
.
headers
=
headers
;
}
public
void
setSheetName
(
String
sheetName
)
{
this
.
sheetName
=
sheetName
;
}
public
void
setData
(
Object
[][]
data
){
this
.
data
=
data
;
}
public
void
generate
()
throws
IOException
{
Workbook
workbook
=
new
HSSFWorkbook
();
//Crea hoja nueva
Sheet
sheet
=
workbook
.
createSheet
(
sheetName
);
CellStyle
headerStyle
=
workbook
.
createCellStyle
();
headerStyle
.
setFillForegroundColor
(
IndexedColors
.
AQUA
.
getIndex
());
headerStyle
.
setFillPattern
(
CellStyle
.
SOLID_FOREGROUND
);
Row
headerRow
=
sheet
.
createRow
(
0
);
int
i
=
0
;
for
(
String
header
:
headers
)
{
Cell
cell
=
headerRow
.
createCell
(
i
++);
cell
.
setCellStyle
(
headerStyle
);
cell
.
setCellValue
(
header
);
}
i
=
1
;
Row
row
;
for
(
Object
[]
array
:
data
)
{
row
=
sheet
.
createRow
(
i
++);
Cell
cell
;
int
j
=
0
;
for
(
Object
value
:
array
)
{
cell
=
row
.
createCell
(
j
++);
if
(
value
instanceof
Integer
)
{
cell
.
setCellValue
(
Integer
.
parseInt
(
value
.
toString
()));
}
else
if
(
value
instanceof
String
)
{
cell
.
setCellValue
(
value
.
toString
());
}
else
if
(
value
instanceof
Double
)
{
cell
.
setCellValue
(
Double
.
parseDouble
(
value
.
toString
()));
}
else
if
(
value
instanceof
Boolean
)
{
cell
.
setCellValue
((
boolean
)
value
);
}
else
{
cell
.
setCellValue
(
value
.
toString
());
}
}
}
sheet
.
createFreezePane
(
0
,
1
);
workbook
.
write
(
output
);
}
}
This diff is collapsed.
Click to expand it.
src/main/webapp/WEB-INF/web.xml
View file @
8ab85aae
...
...
@@ -25,6 +25,10 @@
<servlet-name>
RedireccionarServlet
</servlet-name>
<servlet-class>
asistencia.servlets.RedireccionarServlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>
PoliciasServlet
</servlet-name>
<servlet-class>
asistencia.servlets.PoliciasServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
InterceptarRedireccionServlet
</servlet-name>
<url-pattern>
/vistas/interceptar
</url-pattern>
...
...
@@ -45,6 +49,10 @@
<error-code>
404
</error-code>
<location>
/vistas/error/error.jsp
</location>
</error-page>
<servlet-mapping>
<servlet-name>
PoliciasServlet
</servlet-name>
<url-pattern>
/servlet/PoliciasServlet
</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
...
...
This diff is collapsed.
Click to expand it.
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