Вставьте дату и время в Excel с JSP
У меня есть ниже JSP для вставки значений в Excel.
<%@page import="java.util.Locale"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.sql.*"%>
<%
Connection con = null;
Statement stmt = null;
java.util.Date dt=new java.util.Date();
try {
String a = request.getParameter("comments");
String b = request.getParameter("updatedl");
String c = request.getParameter("sid");
String d = request.getParameter("desc");
String e = request.getParameter("pubcode");
String f = request.getParameter("Type");
String g = request.getParameter("status");
String h = null;
if (null != request.getParameter("DateRec")) {
h = request.getParameter("DateRec");
}
String i = null;
if (null != request.getParameter("startD")) {
i = request.getParameter("startD");
}
String j = null;
if (null != request.getParameter("AssignedD")) {
j = request.getParameter("AssignedD");
}
String k = null;
if (null != request.getParameter("sentToAE")) {
k = request.getParameter("sentToAE");
}
String l = null;
if (null != request.getParameter("RespFrmAE")) {
l = request.getParameter("RespFrmAE");
}
String m = null;
if (null != request.getParameter("VWRCmp")) {
m = request.getParameter("VWRCmp");
}
String n = request.getParameter("PS");
String o = request.getParameter("TEst");
String p = request.getParameter("Units");
String q = null;
if (null != request.getParameter("VWR")) {
q = request.getParameter("VWR");
}
String r = request.getParameter("IE");
String s = null;
if (null != request.getParameter("RevDate")) {
s = request.getParameter("RevDate");
}
String t = request.getParameter("ReviewS");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=C:/jus/Excel1.xls; ReadOnly=true;");
String query = null;
String columnString = new String();
String values = new String();
columnString = "insert into [Feb$] ([comments],[No of lines updated in PSIS],[Shipment ID],"
+ "[SAP TXT Description],[Phoenix Pub Code], [Product Type]" ;
values = " values("+ a + "," + b + "," + c + ",'" + d + "','" + e + "','" + f + "'";
out.println("h value "+n);
if(null!= g && !g.isEmpty()){
columnString = columnString+(",[Status of the job]");
values = values + ",'" +g;
}
if(null!= n && !n.isEmpty()){
columnString = columnString+(",[Assigned to PS]");
values = values + "','" +n;
}
if(null!= o && !o.isEmpty()){
columnString = columnString+(",[Time Estimate]");
values = values + "','" +o;
}
if(null!= p && !p.isEmpty()){
columnString = columnString+(",[Units]");
values = values + "','" +p;
}
if(null!= r && !r.isEmpty()){
columnString = columnString+(",[Internal Errors]");
values = values + "','" +r;
}
if(null!= t && !t.isEmpty()){
columnString = columnString+(",[Review Sent (Yes/No)]");
values = values + "','" +t;
}
if(null!= h && !h.isEmpty()){
columnString = columnString+(",[Date Request received]");
values = values + "','" +h;
}
if(null!= i && !i.isEmpty()){
columnString = columnString+(",[Start Date]");
values = values + "','" +i;
}
if(null!= j && !j.isEmpty()){
columnString = columnString+(",[Date assigned]");
values = values + "','" +j;
}
if(null!= k && !k.isEmpty()){
columnString = columnString+(",[Date file sent to AE]");
values = values + "','" +k;
}
if(null!= l&& !l.isEmpty()){
columnString = columnString+(",[Date response from AE]");
values = values + "','" +l;
}
if(null!= m && !m.isEmpty()){
columnString = columnString+(",[Date completed --VWR]");
values = values + "','" +m;
}
if(null!= q && !q.isEmpty()){
columnString = columnString+(",[Date file needs to be sent to Vendor (VWR)]");
values = values + "','" +q;
}
if(null!= s && !s.isEmpty()){
columnString = columnString+(",[Review Date]");
values = values + "','" +s;
}
columnString = columnString+")";
values = values + "')";
query = columnString+values;
out.println(query);
PreparedStatement ps = con.prepareStatement(query);
int new1 = ps.executeUpdate();
String UR = "success.jsp";
response.sendRedirect(UR);
} catch (Exception e) {
out.println(e);
} finally {
try {
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
%>
Здесь поля даты, к которым я обращаюсь, получают значения из средства выбора даты jquery на моей предыдущей html-странице, но теперь я хочу объединить эту дату с текущим временем и вставить в лист Excel, когда я пытаюсь объединить, как показано ниже, это дает я исключение.
if(null!= h && !h.isEmpty()){
columnString = columnString+(",[Date Request received]");
values = values + "','" +h+dt;
}
я получаю исключение, как показано ниже.
java.sql.SQLException: [Microsoft][ODBC Excel Driver] Data type mismatch in criteria expression.
пожалуйста, дайте мне знать, как я могу этого достичь.
Спасибо