하단용 ASP创建(생성)PDF文件的代码
<%
옵션 명시적
하위 CheckXlDriver()
오류 발생 시 다음 재개
희미한 vConnString
희미해, 어어어
' NUL 파일에 연결을 시도합니다:
vConnString = DRIVER={Microsoft Excel 드라이버(*.xls)};DBQ=NUL:
oConn = CreateObject(ADODB.Connection) 설정
oConn.Open vConnString
oConn.Errors의 각 oErr에 대해
' Excel 드라이버가 파일 생성 실패를 보고하면
' 그런 다음 설치하고 작동해야 합니다 ;-))
oErr.NativeError = -5036인 경우
하위 종료
종료 조건
다음
응답.쓰기 공급자 또는 드라이버를 사용할 수 없습니다. (재)MDAC를 설치합니다.
응답.Write hex(Err.Number) & & Err.Description &
oConn.Errors의 각 oErr에 대해
Response.Write hex(oErr.Number) & & oErr.NativeError & & oErr.Description &
다음
응답.종료
서브 끝
함수 GetConnection(vConnString)
오류 발생 시 다음 재개
GetConnection = Server.CreateObject(ADODB.Connection) 설정
GetConnection.Open vConnString
Err.Number <> 0이면
GetConnection = 없음으로 설정
종료 조건
기능 종료
함수 OptionTag(vChoice,vTrue)
희미한 vSelected
vTrue라면
vSelected = 선택됨
종료 조건
OptionTag = <옵션 & vSelected & > & _
Server.HtmlEncode(vChoice) & </option> & vbCrLf
기능 종료
함수 IsChecked(vTrue)
vTrue라면
IsChecked = 선택됨
종료 조건
기능 종료
함수집옵션(vXlFile)
희미한 vServerFolder
희미한 ofFs, oFolder, oFile
희미한 vSelected
vServerFolder = Server.MapPath(.)
oFs = Server.CreateObject(Scripting.FileSystemObject) 설정
oFolder = oFs.GetFolder(vServerFolder) 설정
oFolder.Files의 각 oFile에 대해
oFile.Type = Microsoft Excel 워크시트인 경우
vSelected = (oFile.Name = vXlFile)
BookOptions = BookOptions & _
OptionTag(o파일.이름, vSelected)
종료 조건
다음
oFolder 설정 = 없음
ofFs 설정 = 없음
기능 종료
함수 NamedRangeOptions(oConn, vXlRange, vTableType)
Dim oSchemaR
희미한 vSelected
NamedRangeOptions = OptionTag(비어 있음, 비어 있음)
TypeName(oConn) = 연결인 경우
oSchemaRs = oConn.OpenSchema(adSchemaTables) 설정
oSchemaRs.EOF가 아닌 동안 수행
oSchemaRs(TABLE_TYPE) = vTableType인 경우
vSelected = (oSchemaRs(TABLE_NAME) = vXlRange)
NamedRangeOptions = NamedRangeOptions & _
OptionTag(oSchemaRs(TABLE_NAME), vSelected)
종료 조건
oSchemaRs.MoveNext
고리
종료 조건
기능 종료
함수 DataTable(oConn, vXlRange, vXlHasHeadings)
오류 발생 시 다음 재개
' OleDbVbc.inc에서
상수 DB_E_ERRORSINCOMMAND = &H80040E14
Dim orRs, oField
희미한 vThTag, vThEndTag
vXlHasHeadings이면
vThTag = <일>
vThEndTag = </th>
또 다른
vThTag = <td>
vThEndTag = </td>
종료 조건
DataTable = <테이블 테두리=1>
TypeName(oConn) = 연결인 경우
oRs = oConn.Execute([ & vXlRange & ]) 설정
oConn.Errors.Count > 0이면
oConn.Errors의 각 oConnErr에 대해
oConnErr.Number = DB_E_ERRORSINCOMMAND인 경우
데이터테이블 = 데이터테이블 & _
<tr><td>해당 범위 없음:</td><th> & vXlRange & </th></tr>
또 다른
데이터테이블 = 데이터테이블 & _
<tr><td> & oConnErr.설명 & </td></tr>
종료 조건
다음
또 다른
DataTable = DataTable & <tr>
oRs.Fields의 각 oField에 대해
DataTable = DataTable & vThTag & oField.Name & vThEndTag
다음
DataTable = 데이터테이블 & </tr>
oRs.Eof가 아닌 동안 수행
DataTable = DataTable & <tr>
oRs.Fields의 각 oField에 대해
DataTable = DataTable & <td> & oField.Value & </td>
다음
DataTable = 데이터테이블 & </tr>
oRs.MoveNext
고리
종료 조건
oR 설정 = 없음
또 다른
DataTable = DataTable & <tr><td>파일이 다른 응용 프로그램에 의해 잠겨 있거나 액세스할 수 없습니다. 계속할 수 없습니다.</td></tr>
종료 조건
DataTable = 데이터테이블 & </table>
기능 종료
' --기본--
%>
<html>
<머리>
<title>엑셀 읽기</title>
<스크립트 언어=자바스크립트>
<!--
함수 XlBook_onchange(theForm) {
(theForm) {와 함께
XlSheet.selectedIndex = 0;
XlSheet.disabled = true;
XlNamedRange.selectedIndex = 0;
XlNamedRange.disabled = true;
XlTypedRange.value = A:IV;
}
}
함수 XlSheet_onchange(theForm) {
(theForm) {와 함께
XlNamedRange.selectedIndex = 0;
XlTypedRange.value = XlSheet.options[XlSheet.selectedIndex].text;
}
}
함수 XlNamedRange_onchange(theForm) {
(theForm) {와 함께
XlSheet.selectedIndex = 0;
XlTypedRange.value = XlNamedRange.options[XlNamedRange.selectedIndex].text;
}
}
함수 XlTypedRange_onchange(theForm) {
(theForm) {와 함께
XlSheet.selectedIndex = 0;
XlNamedRange.selectedIndex = 0;
}
}
//-->
</SCRIPT>
</head>
<본문>
<%
희미한 vXlFile, vXlFilePath
희미한 vXlRange, vXlHasHeadings
희미한 vDisabled
희미한 vConnString
희미한 oConn, oConnErr
Const adSchemaTables = 20 '(adovbs.inc에서)
CheckXlDriver '작동하는지 확인하세요
vXlFile = 요청(XlBook)
vXlFile <> 비어 있는 경우
vXlRange = 요청(XlTypedRange)
vXlRange = 비어 있는 경우
vXlRange = A:IV
또 다른
vXlRange = 바꾸기(vXlRange, !, $)
종료 조건
vXlHasHeadings = 요청(XlHasHeadings)
' 연결 설정
vXlFilePath = 서버.MapPath(vXlFile)
vConnString = DRIVER={Microsoft Excel 드라이버(*.xls)};ReadOnly=1;DBQ= & _ vXlFilePath
oConn = GetConnection(vConnString) 설정
또 다른
vDisabled = 비활성화됨
종료 조건
%>
<form name=MyForm method=POST action=<%=Request.ServerVariables(SCRIPT_NAME)%>>
<테이블 테두리=1 너비=100%>
<tr>
<th>통합문서:</th>
<TD>
<이름 선택=XlBook LANGUAGE=javascript onchange=XlBook_onchange(MyForm) 반환>
<%= BookOptions(vXlFile) %>
</select></td>
<td align=center>워크시트:</td>
<td><select <%=vDisabled%> name=XlSheet LANGUAGE=javascript onchange=반환 XlSheet_onchange(MyForm)>
<%= NamedRangeOptions(oConn, vXlRange, 시스템 테이블) %>
</select></td>
</tr>
<tr>
<th>범위 :</th>
<td><입력 유형=텍스트 이름=XlTypedRange LANGUAGE=javascript onchange=반환 XlTypedRange_onchange(MyForm)
값 =<%= vXlRange %>></td>
<td align=center>명명된 범위:</td>
<td><선택 <%=vDisabled%> 이름=XlNamedRange LANGUAGE=javascript onchange=반환 XlNamedRange_onchange(MyForm)>
<%= NamedRangeOptions(oConn, vXlRange, TABLE) %>
</select></td>
</tr>
<tr>
<일>
<p> </th>
<td colspan=3>
<입력 유형=체크박스 이름=XlHasHeadings
<%= IsChecked(vXlHasHeadings) %>
value=True> 첫 번째 행을 열 머리글로 표시</td>
</tr>
<tr>
<일>
<p> </th>
<td colspan=3>
<a href=<%= vXlFile %>><%= vXlFile %></a>
</td>
</tr>
</table>
<입력 유형=제출 값=제출 이름=cmdSubmit>
<입력 유형=재설정 값=재설정 이름=cmdReset>
</form><시간>
<%
vXlRange <> 비어 있는 경우 그러면
응답.데이터 테이블 쓰기(oConn, vXlRange, vXlHasHeadings)
종료 조건
%>
</body>
</html>