배열의 특정 요소 제거


배열 = 배열.splice($.inArray("특정요소", 배열),1);



배열을 문자열로 출력


배열 = 배열.join("합칠 문자열");


HTML Table 태그에 내용 넣고 헤더를 고쳐서 엑셀파일인 척해서 다운로드 받기

최상단에 아래 

<%

Response.AddHeader "Content-Disposition","attachment;filename=다운로드 받을 디폴트 파일명.xls"

Response.ContentType = "application/octet-stream"

%>

<table>

<tr>

     <th>컬럼타이틀</th>

</tr>

<tr>

<td>내용</td>

</tr>

</table>



진짜 엑셀파일에 값만 채워넣고 다운로드 받기 - VBScript를 이용해야 한다.

출처: http://stackoverflow.com/questions/24517978/asp-classsic-insert-into-excel-xls-columns-or-create-a-real-excel-format-file

<%@Language=VBScript CodePage=65001%>

<%

    Dim Fso

    Set Fso = Server.CreateObject("Scripting.FileSystemObject")


    Dim emptyXlsFileName

        emptyXlsFileName = Server.Mappath("원본엑셀파일.xlsx") 'empty original file path


    Dim filledXlsFileName

        filledXlsFileName = Replace(Fso.GetTempName, ".tmp", ".xlsx") 'temp file will be created and filled


    Fso.CopyFile emptyXlsFileName, Server.Mappath(filledXlsFileName)

    Dim Connection

    Set Connection = Server.CreateObject("Adodb.Connection") ' 이걸로 해야 오피스가 깔리지 않은 서버에서도 사용 가능하다.

        Connection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.Mappath(filledXlsFileName) & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=0"";" ' xlsx라 12.0이고 xls면 8.0, 첫열을 타이틀로 할거면 HDR=YES, 아니면 HDR=NO



sql = "select * from [Sheet1$]" ' sheet1 다 불러오기

set objRs = Server.CreateObject("ADODB.Recordset")

objRs.open sql, Connection, 1, 3


rows = 0

do while Not objRs.EOF

if rows = 0 then

objRs.Fields(0).Value = "제목을 제외한 첫번째 줄, 첫번째 컬럼 그러니까 A2"

elseif rows = 1 then 

objRs.Fields(1).Value = "B3"

   objRs.Fields("첫열이 타이틀이었다면 그 컬럼명").Value = "넣을 값"

end if

rows = rows + 1

objRs.MoveNext

loop


objRs.Close

set objRs = Nothing


        Connection.Close

    Set Connection = Nothing


    Const BufferSize = 8192


    Response.ContentType = "application/vnd.ms-excel"

    Response.AddHeader "Content-Disposition", "attachment;filename=다운로드할 디폴트 파일명.xlsx"

    Dim Stm

    Set Stm = Server.CreateObject("Adodb.Stream")

        Stm.Type = 1 'adTypeBinary

        Stm.Open

        Stm.LoadFromFile Server.Mappath(filledXlsFileName)

        Do While Not Stm.EOS

            Response.BinaryWrite Stm.Read(BufferSize)

            Response.Flush

            If Not Response.IsClientConnected Then Exit Do

        Loop

        Stm.Close

    Set Stm = Nothing

    Fso.DeleteFile Server.Mappath(filledXlsFileName)

    Response.End


    Set Fso = Nothing

%>


'Classic ASP' 카테고리의 다른 글

스케쥴러  (0) 2016.09.23
숫자 관련 추가 함수  (0) 2016.06.27
사이트 긁어오기  (0) 2015.08.20
ASP에서 JSON을 쓰려면  (0) 2015.03.06
sleep / delay  (0) 2014.09.12

jqgrid

$("#tblist1")

.jqGrid('navGrid', '#pager', {

add: false,

edit: false,

del: false,

search: false,

refresh: false

})

.jqGrid( 'navButtonAdd', "#pager", {

caption : "Export to CSV",

buttonicon : "ui-icon-arrowthickstop-1-s",

onClickButton : function() {

$("#tblist1").jqGrid('excelExport',{"url":"./excel/as.do"});

},

position : "first",

title : "Export to CSV",

});


controller

@RequestMapping("/excel/as")

public ResponseEntity<String> csvAsList(Locale locale, AsVO asVo,

@RequestParam Map<String, String> map) throws Exception {

Comm.jqgridSearchFormSetVO(map.get("filters"), asVo);


List<AsVO> excelList = asService.excelList(asVo); // DB에서 가져온 데이터리스트

String data = new DataToCSV().as(excelList);


HttpHeaders header = new HttpHeaders();

header.add("Content-Disposition", "attachment; filename=\"" + "as.csv" + "\"");

header.add("Content-Type", "text/csv; charset=MS949");


return new ResponseEntity<String>(data, header, HttpStatus.OK);

}


servlet-context.xml - UTF-8 프로젝트라서 예외처리용

<beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

<beans:property name="messageConverters">

<beans:list>

<beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">

<beans:property name="supportedMediaTypes">

<beans:value>text/plain;charset=UTF-8</beans:value>

</beans:property>

</beans:bean>

</beans:list>

</beans:property>

</beans:bean>


<%

'페이지로드Post방식

Function getSiteSourcePost( siteURL, params )

 Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")

 httpObj.open "POST" , siteURL, False

 httpObj.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"

 '포스트 방식시 위의 라인을 추가해 주어야 한다.

  

 httpObj.Send params

 '포스트의 파라미터는 Send 호출시 같이 값을 넘겨 주어야 한다.

 httpObj.WaitForResponse

 If httpObj.Status = "200" Then

  getSiteSourcePost = httpObj.ResponseText

 Else

  getSiteSourcePost = null

 End If

End Function

 

'페이지로드 get방식

Function getSiteSourceGet( siteURL, params )

 Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")

 httpObj.open "GET", siteURL & "?" & params, False

  

 httpObj.Send()

 httpObj.WaitForResponse

 If httpObj.Status = "200" Then

  getSiteSourceGet = httpObj.ResponseText

 Else

  getSiteSourceGet = null

 End If

End Function

 

contents = getSiteSourcePost("사이트주소","")

response.write(contents)

%>


출처: http://2nusa.blogspot.kr/2013/05/class-asp.html

'Classic ASP' 카테고리의 다른 글

숫자 관련 추가 함수  (0) 2016.06.27
엑셀파일로 다운로드 받기  (2) 2016.06.22
ASP에서 JSON을 쓰려면  (0) 2015.03.06
sleep / delay  (0) 2014.09.12
ASP의 컬렉션(Dictionary, Map, 연관배열)  (0) 2014.03.12

public void replace(StringBuilder builder, String from, String to)

{

   int index = builder.indexOf(from);

   while (index != -1)

   {

       builder.replace(index, index + from.length(), to);

       index += to.length(); // Move to the end of the replacement

       index = builder.indexOf(from, index);

   }

}


출처: http://stackoverflow.com/questions/3472663/replace-all-occurences-of-a-string-using-stringbuilder

'Java' 카테고리의 다른 글

사이트 긁어오기  (0) 2015.08.19
mail 발송  (0) 2015.08.18
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02

$("iframe selector").on("load", function(){

// script

});


출처: http://stackoverflow.com/questions/30005/how-do-i-fire-an-event-when-a-iframe-has-finished-loading-in-jquery


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.net.URL" %>

<%@ page import="java.io.BufferedReader" %>

<%@ page import="java.io.InputStreamReader" %>


<%

URL url = null;

url = new URL("사이트주소");

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));


String inputLine = null;

StringBuilder sb = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {

    sb.append(inputLine);

     .append("\r\n"); // 엔터키 삽입하는게 로딩이 더 빠르다.

    }

    in.close();


// String regex = "<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>"; // 이미지 태그 삭제용 정규식

%>

<%=sb

.toString()

// .replaceAll(regex, "")  // 정규식 치환

%>


'Java' 카테고리의 다른 글

StringBuilder 용 replace 함수  (0) 2015.08.19
mail 발송  (0) 2015.08.18
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02

pom.xml

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>$</version>

</dependency>


<!-- mail -->

<dependency>

<groupId>javax.mail</groupId>

<artifactId>javax.mail-api</artifactId>

<version>1.5.4</version>

</dependency>

<dependency>

<groupId>com.sun.mail</groupId>

<artifactId>javax.mail</artifactId>

<version>1.5.3</version>

</dependency>

대부분의 문서가 이 3개중에 javax.mail-api만 표기한 경우가 많았는데 3개가 모두 있어야 메일발송이 정상적으로 된다.


servlet-context.xml

<!-- mail bean -->

<beans:bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

<beans:property name="host" value="smtp.gmail.com"/>

<beans:property name="port" value="25"/>

<beans:property name="username" value="gmailid@gmail.com"/>

<beans:property name="password" value="gmail password"/>

<beans:property name="javaMailProperties">

<beans:props>

<beans:prop key="mail.smtp.auth">true</beans:prop>

<beans:prop key="mail.smtp.starttls.enable">true</beans:prop>

<beans:prop key="mail.smtp.timeout">8500</beans:prop>

<beans:prop key="mail.debug">true</beans:prop>

<beans:prop key="mail.transport.protocol">smtp</beans:prop>

</beans:props>

</beans:property>

</beans:bean>

이건 흔한 gmail 설정이다.


service

@Autowired

private JavaMailSender mailSender;


{

MimeMessage message = mailSender.createMimeMessage();

message.setFrom(new InternetAddress(from));

message.addRecipient(RecipientType.TO, new InternetAddress(to));

message.setSubject(subject);

message.setText(text, "utf-8", "html");

mailSender.send(message);

}

기본 html형식의 메일발송법이다. 첨부파일은 해본 다음에 수정하겠다.


참고:

http://www.mkyong.com/java/java-lang-classnotfoundexception-com-sun-mail-util-messageremovedioexception/ 외



'Java' 카테고리의 다른 글

StringBuilder 용 replace 함수  (0) 2015.08.19
사이트 긁어오기  (0) 2015.08.19
mybatis의 insert후 sequence 가져오기  (0) 2014.08.21
MS-SQL JDBC 추가하기.  (0) 2014.07.28
MIME 타입 알아내는 방법  (0) 2013.10.02

Html로 Excel 파일인척 다운로드할 때 크롬이나 기타 브라우저에서는 뭘로 하던 다운로드를 받은 후 열게 되기 때문에 문제가 없으나 IE는 바로 열거나 다운로드 중에 선택할 수 있다. 

content-type을 "application/vnd.ms-excel"로 했더니 바로 열릴때도 있지만 파일이 열리지 않을때도 많았다. 그래서 "application/octet-stream"로 바꿔주었더니 문제가 사라졌다.

참고: https://crowelee.wordpress.com/2006/05/14/http-header-and-excel-file-type/


KT에서 LGT로 인터넷을 바꿨다. 인터넷을 바꾸기전에 이용하던 네트워크 구성 그대로 
인터넷 모뎀 -> LG-5000P -> 사재 공유기 -> 나스 로 하려고 하루를 낑낑댔었는데 굳이 그럴 필요없었다.
인터넷 모뎀 -> LG-5000P -> 나스 로 하면 충분하다.


1. http://192.168.219.1/ 에 접속한다. (id: user, pw: power)

2. Network 설정

- DHCP 설정 -> DHCP IP 주소 고정 설정에 나스를 추가한다.

- NAT 설정 -> 버츄얼 서버 맵핑에 외부에서 접속할 나스 port 정보를 추가한다.

  WAN IP는 외부에서 접속할 IP, WAN 포트는 외부에서 접속할 포트 번호, LAN IP는 내부 아이피, LAN 포트 역시 내부 IP다.

  DMZ나 포트 포워딩은 모두 필요없다.

3. 로그아웃 -> 리부팅을 한다.


리부팅이 완료되면 외부 접속이 가능하다. 나의 경우 네트워크 구성도가 달라지면서 공유기를 거치지 않게 되었지만 공유기 회사에서 제공하는 DDNS 서비스를 그대로 이용하기로 했다.


+ Recent posts