包含exjshotel源码的词条

本文目录一览:

求一个记事本的JAVA源代码

/*

* WriteBoard.java

*

* Created on 2006年12月19日, 下午7:26

*/

/**

*

* @author LecH.giF

*/

import java.awt.datatransfer.*;

import java.awt.event.*;

import java.awt.*;

import java.io.*;

import java.awt.FileDialog;

public class WriteBoard extends java.awt.Frame {

Clipboard clipboard =null;

FileDialog fc = new FileDialog(this);

/** Creates new form WriteBoard */

public WriteBoard() {

clipboard = getToolkit().getSystemClipboard();

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

// editor-fold defaultstate=”collapsed” desc=” Generated Code ”

private void initComponents() {

textArea1 = new java.awt.TextArea();

menuBar1 = new java.awt.MenuBar();

menu1 = new java.awt.Menu();

menuItem1 = new java.awt.MenuItem();

menuItem2 = new java.awt.MenuItem();

menuItem3 = new java.awt.MenuItem();

menuItem4 = new java.awt.MenuItem();

menuItem5 = new java.awt.MenuItem();

menu2 = new java.awt.Menu();

menuItem6 = new java.awt.MenuItem();

menuItem7 = new java.awt.MenuItem();

menuItem8 = new java.awt.MenuItem();

setTitle(“WriteBoard”);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

add(textArea1, java.awt.BorderLayout.CENTER);

menu1.setLabel(“Menu”);

menuItem1.setLabel(“\u65b0\u5efa”);

menuItem1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

newText(evt);

}

});

menu1.add(menuItem1);

menuItem2.setLabel(“\u6253\u5f00”);

menuItem2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

open(evt);

}

});

menu1.add(menuItem2);

menuItem3.setLabel(“\u4fdd\u5b58”);

menuItem3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

menuItem3ActionPerformed(evt);

}

});

menu1.add(menuItem3);

menuItem4.setLabel(“\u53e6\u5b58\u4e3a”);

menuItem4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

menuItem4ActionPerformed(evt);

}

});

menu1.add(menuItem4);

menuItem5.setLabel(“\u9000\u51fa”);

menuItem5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

exit(evt);

}

});

menu1.add(menuItem5);

menuBar1.add(menu1);

menu2.setLabel(“\u7f16\u8f91”);

menuItem6.setLabel(“\u526a\u5207”);

menuItem6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

menuItem6ActionPerformed(evt);

}

});

menu2.add(menuItem6);

menuItem7.setLabel(“\u590d\u5236”);

menuItem7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

menuItem7ActionPerformed(evt);

}

});

menu2.add(menuItem7);

menuItem8.setLabel(“\u7c98\u8d34”);

menuItem8.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

menuItem8ActionPerformed(evt);

}

});

menu2.add(menuItem8);

menuBar1.add(menu2);

setMenuBar(menuBar1);

pack();

}// /editor-fold

private void menuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

fc.show();

if(fc.getFile()!=null){

File file = new File(fc.getFile());

try {

PrintWriter pw = new PrintWriter(file);

pw.print(textArea1.getText());

pw.flush();

pw.close();

} catch (FileNotFoundException ex) {

ex.printStackTrace();

}

}

else{

return;

}

}

private void menuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

fc.show();

if(fc.getFile()!=null){

File file = new File(fc.getFile());

try {

PrintWriter pw = new PrintWriter(file);

pw.print(textArea1.getText());

pw.flush();

pw.close();

} catch (FileNotFoundException ex) {

ex.printStackTrace();

}

}

else{

return;

}

}

private void menuItem8ActionPerformed(java.awt.event.ActionEvent evt) {

Transferable contents = clipboard.getContents(this);

DataFlavor flavor = DataFlavor.stringFlavor;

if(contents.isDataFlavorSupported(flavor))

try{

String str;

str=(String)contents.getTransferData(flavor);

textArea1.append(str);

}catch(Exception e){}

}

private void menuItem7ActionPerformed(java.awt.event.ActionEvent evt) {

String temp = this.textArea1.getSelectedText();

StringSelection text = new StringSelection(temp);

clipboard.setContents(text,null);

}

private void menuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

String temp = this.textArea1.getSelectedText();

StringSelection text = new StringSelection(temp);

clipboard.setContents(text,null);

int start = textArea1.getSelectionStart();

int end = textArea1.getSelectionEnd();

textArea1.replaceRange(“”,start,end);

}

private void open(java.awt.event.ActionEvent evt) {

fc.show();

if(fc.getFile()!=null){

File file = new File(fc.getFile());

try {

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

String s;

try {

while((s= br.readLine())!=null){

textArea1.append(s+”\n”);

}

fr.close();

br.close();

} catch (IOException ex) {

ex.printStackTrace();

}

} catch (FileNotFoundException ex) {

ex.printStackTrace();

}

}

else{

return;

}

}

private void newText(java.awt.event.ActionEvent evt) {

this.textArea1.setText(“”);

}

private void exit(java.awt.event.ActionEvent evt) {

System.exit(0);

}

/** Exit the Application */

private void exitForm(java.awt.event.WindowEvent evt) {

System.exit(0);

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new WriteBoard().setVisible(true);

}

});

}

// Variables declaration – do not modify

private java.awt.Menu menu1;

private java.awt.Menu menu2;

private java.awt.MenuBar menuBar1;

private java.awt.MenuItem menuItem1;

private java.awt.MenuItem menuItem2;

private java.awt.MenuItem menuItem3;

private java.awt.MenuItem menuItem4;

private java.awt.MenuItem menuItem5;

private java.awt.MenuItem menuItem6;

private java.awt.MenuItem menuItem7;

private java.awt.MenuItem menuItem8;

private java.awt.TextArea textArea1;

// End of variables declaration

}

C++控制台程序如何把外部参数赋值给变量。求源码。如: 外部执行 test.ex

下面的程序演示argc和argv的使用:

#includeiostream

using namespace std;

int main(int argc,char **argv){

for(int i=0;iargc;i++)

cout”Argument “i” is “argv[i]endl;

return EXIT_SUCCESS;

}

该程序编译成功,产生了 test.exe 文件,在命令行下输入如下命令:

test.exe hello! this is a test!

2016年旅游网站源码排行榜

在为你做旅游网站源码排行之前,先给你介绍一下什么是旅游网站源码,旅游网站源码,也称为旅游源代码。是指为编译的文本代码或一个网站的全部源代码文件,是一系列人类可读指令。你都把它理解为源文代码,当前看到的这个网页来说,其实它就是由一大堆的源码组成,通过浏览器如Google、百度等浏览器或服务器翻译成我们现在所看见的样子!这样相对通俗的解释你应该都懂吧!下面由是由笔者精心研究、收集、归纳的旅游网站源码,为你做一个优先级排序,希望对你在选择旅游网站源码的时候有所帮助。

Top1

思途旅游网站源码(简称:思途cms)

推荐指数:★★★★★

思途CMS旅游网站源码,是基于LAMP(Linux-Apache-MySQL-PHP)平台设计(系统支持O2O模式、B2B模式、B2B2C模式、B2C模式等等)但是相比其他旅游源码来说,它的使用价值已经不仅限于O2O、B2B、B2C、B2B2C等模式了,在完善的源码基础上将其功能及可视化界面进行模块化(单模块进行封装),用户可根据自己的需求对源码进行模块化的安装使用,如:邮轮模块、供应商模块、分销模块等!都可进行无限的扩展,具有很强的灵活性,源码无加密支持二次开发,并且每周持续更新,如需自行开发可按照官方提供的标准文档进行二次开发!源码中嵌入了营销推广系统,营销推广系统包含了来源分析功能,网站地图自动生成,一键设置网页标题、关键词及描述,智能整站检测死链、关键词统计优化功能等。

特点:开源不加密、拓展性强、良好的兼容性、PHP+MySQL运行速度快、模板漂亮,一键更换模板。

总结:功能强大,易于推广、营销、优化,界面设计前沿,系统可扩展性强,能够与旅游业务

良好的结合,适合于中小微旅行社使用,甚至部分大型旅行社也同样适合。

Top2

Tourex旅游网站源码(简称:Tourex)

推荐指数:★★★★

Tourex旅游网站源码,是一款基于微软ASP NET平台开发,从运行速度上来说,ASP的相对于主流的PHP语言来说要慢很多,使用相同配置的服务器运行速度PHP的肯定是更占优势,Tourex旅游网站源码是由清远的一家网络公司提供,支持图片广告、第三方快捷登陆、短信平台接口等等。

TourEx的界面设计遵循国际最新W3C网页设计标准,在开发时期,经过IE6、IE7、火狐、Opera等主流浏览器上进行测试,都能够保证您网站浏览的流畅、完整,TourEx页面设计遵循标准情况下尽量的减少了各个浏览器中存在的差异,系统不会因为不同的浏览器受到限制。算是业内里面相对可以的旅游源码之一。

特点:兼容性好、接口较多、代码规范、模板较为灵活

总结:源码是加密且不支持二次开发、使用成本较高,时不时的有BUG出现,无扩展性可言、每年都需要续费,如果你是土豪请随意,后台界面过于传统老套。

Top3

Tripscms旅游网站源码(简称:Trips CMS)

推荐指数:★★★

Tripscms旅游网站管理系统前身是188旅游网站管理系统,由长沙一家网络科技有限公司开发维护,V1.0于2010年发布,到目前为止最新的版本为V5.8,Tripscms于2012年正式取得国家版权局颁发的计算机软件著作权 Tripscms旅游网站管理系统基于PHP+MYSQL开发,全站内置了SEO搜索引擎优化机制,支持用户后台切换模板,支持生成html、伪静态、动态预览三种模式,拥有旅游网站常用的模块功能,较为灵活的后台管理功能、静态页面生成功能、个性化模块添加功能、不同栏目自定义风格样式功能等。

Tripscms旅游网站管理系统界面陈旧,风格传统,相比以上源码来说这一块不具优势。

特点:PHP+MySQL运行速度快,兼容性好,自定义风格

总结:系统整体功能、模板都不够成熟,缺乏新颖,整体风格相对传统,用户体验较差

Top4

乐游通旅游网站源码(简称:乐游 CMS)

推荐指数:★★

乐游通旅游网站源码是一款采用PHP+Mysql架构,拥有个性化模块添加功能等。乐游通旅游网站源码一部分是按旅游行业的操作习惯设计开发,部分功能是从旅游企业的实际需求出发,以模块化功能设计方式,使旅游企业可以依据自身需求选择适合自己的管理系统,从而间接的提高管理水平、优化业务运营流程。页面全部采用DIV+CSS,全站生成存静态HTML,符合SEO标准,有利于搜索引擎关键排名优化。强大的广告管理系统,幻灯片广告、顶部下拉广告、Banner广告等。后台可按频道发布图片、Flash、文字广告,用于活动宣传、广告展示等,适合用于建设地方性旅游网站或者是小型的旅游网站。

特点:PHP+MySQL运行速度快,相对Tourex来说更适合优化但是不及思途CMS,自定义广告

总结:源码框架规整,部分源码实现了模块化标准,不足之处源码整体没有系统标准化,相对来讲不够成熟,页面模板单一,实用性偏低

Top5

网奇E游通旅游网站源码(简称:网奇E CMS)

推荐指数:★★

“网奇Etrip”旅游网站源码,采用ASP.NET2.0语言开发,它集成新闻模块、专题模块、酒店模块、线路模块、图片模块、订票模板 、SEO优化模块、短信营销模块等功能。系统采用三层架构开发,全站可生成存静态HTML,旅游网站模板页面全部采用DIV+CSS,符合SEO标准,有助于搜索引擎关键排名优化。

特点:无

总结:网奇平台涉及的源码系统较多,但是对每一个系统的开发都不够深入,其中网奇E旅游通旅游网站源码的模板风格及源码都极为粗糙,ASP NET语言运行速度较PHP+MySQL缓慢,系统BUG较多,基本没有源码维护人员

以上信息希望可以帮助你,还望采纳,感谢!

在dedecms项目源码中dede/admin/templets/catalog_main.htm文件中:

首先看:catalog_main.php中引入了require_once(DEDEINC.”/typeunit.class.admin.php”);

然后看:/include/typeunit.class.admin.php

185行if($channel==$id || $lastid==$id || isset($GLOBALS[‘exallct’]) || $cfg_admin_channel==’array’)

它是在这里判断的,isset($GLOBALS[‘exallct’])

求解密

首先解密eval(base64_decode(‘JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==’));

结果为:

eval(‘$_X=base64_decode($_X);$_X=strtr($_X,’123456aouie’,’aouie123456′);$_R=ereg_replace(‘__FILE__’,”‘”.$_F.”‘”,$_X);eval($_R);$_R=0;$_X=0;’)

运行上述代码

$_X=base64_decode($_X);//执行后$_X的值为

?d4v cl1ss=”cl51r”/d4v

d4v 4d=”f22t5r”

d4v 4d=”f22t5rm14n”

1 4d=”f22t5rl2g2″ hr5f=”?php bl2g4nf2(‘3rl’); ?” t4tl5=”?php bl2g4nf2(‘n1m5’); ?”/1

?php 5ch2 str4psl1sh5s(g5t_2pt42n(‘cr55k22_f22t5rl4nkc2d5’)); ?/br?php 5ch2 c2m4cpr5ss_c2pyr4ght(); ? 1 hr5f=”?php 5ch2 h2m5_3rl( ‘/’ ) ?” t4tl5=”?php 5ch2 5sc_1ttr( g5t_bl2g4nf2( ‘n1m5’, ‘d4spl1y’ ) ); ?” r5l=”h2m5″ t1rg5t=”_bl1nk”?php 5ch2 5sc_1ttr( g5t_bl2g4nf2( ‘n1m5’, ‘d4spl1y’ ) ); ?/1 – P2w5r5d by 1 hr5f=”” r5l=”n2f2ll2w” t1rg5t=”_bl1nk”W2rdPr5ss/1 1nd 1 hr5f=”” t1rg5t=”_bl1nk”Cr55K22/1?php 4f (g5t_2pt42n(‘cr55k22_b541n’) == ‘D4spl1y’) { ? – ?php 5ch2 str4psl1sh5s(g5t_2pt42n(‘cr55k22_b541nh12’)); ??php } 5ls5 { } ??php 4f (g5t_2pt42n(‘cr55k22_tj’) == ‘D4spl1y’) { ? – ?php 5ch2 str4psl1sh5s(g5t_2pt42n(‘cr55k22_tjc2d5’)); ??php } 5ls5 { } ?

/d4v

 /d4v

?php wp_f22t5r(); ?

scr4pt typ5=”t5xt/j1v1scr4pt” src=”?php bl2g4nf2(‘t5mpl1t5_d4r5ct2ry’); ?/c2mm5nts-1j1x.js”/scr4pt

scr4pt typ5=”t5xt/j1v1scr4pt” src=”?php bl2g4nf2(‘t5mpl1t5_d4r5ct2ry’); ?/cr55k22.m4n.js?v6.o”/scr4pt

/b2dy

/html

$_X=strtr($_X,’123456aouie’,’aouie123456′);//执行后$_X的值为

?div class=”clear”/div

div id=”footer”

div id=”footermain”

a id=”footerlogo” href=”?php bloginfo(‘url’); ?” title=”?php bloginfo(‘name’); ?”/a

?php echo stripslashes(get_option(‘creekoo_footerlinkcode’)); ?/br?php echo comicpress_copyright(); ? a href=”?php echo home_url( ‘/’ ) ?” title=”?php echo esc_attr( get_bloginfo( ‘name’, ‘display’ ) ); ?” rel=”home” target=”_blank”?php echo esc_attr( get_bloginfo( ‘name’, ‘display’ ) ); ?/a – Powered by a href=”” rel=”nofollow” target=”_blank”WordPress/a and a href=”” target=”_blank”CreeKoo/a?php if (get_option(‘creekoo_beian’) == ‘Display’) { ? – ?php echo stripslashes(get_option(‘creekoo_beianhao’)); ??php } else { } ??php if (get_option(‘creekoo_tj’) == ‘Display’) { ? – ?php echo stripslashes(get_option(‘creekoo_tjcode’)); ??php } else { } ?

/div

 /div

?php wp_footer(); ?

script type=”text/javascript” src=”?php bloginfo(‘template_directory’); ?/comments-ajax.js”/script

script type=”text/javascript” src=”?php bloginfo(‘template_directory’); ?/creekoo.min.js?v1.3″/script

/body

$_R=ereg_replace(‘__FILE__’,”‘”.$_F.”‘”,$_X);//将$_X中的字符串__FILE__替换为当前文件的路径,并用单引号引起来,原字符串并无可替换内容,故不变

eval($_R);//将上述替换后的内容执行

$_R=0;

$_X=0;

加密的代码等价于如下代码

div class=”clear”/div

div id=”footer”

div id=”footermain”

a id=”footerlogo” href=”?php bloginfo(‘url’); ?” title=”?php bloginfo(‘name’); ?”/a

?php echo stripslashes(get_option(‘creekoo_footerlinkcode’)); ?/br?php echo comicpress_copyright(); ? a href=”?php echo home_url( ‘/’ ) ?” title=”?php echo esc_attr( get_bloginfo( ‘name’, ‘display’ ) ); ?” rel=”home” target=”_blank”?php echo esc_attr( get_bloginfo( ‘name’, ‘display’ ) ); ?/a – Powered by a href=”” rel=”nofollow” target=”_blank”WordPress/a and a href=”” target=”_blank”CreeKoo/a?php if (get_option(‘creekoo_beian’) == ‘Display’) { ? – ?php echo stripslashes(get_option(‘creekoo_beianhao’)); ??php } else { } ??php if (get_option(‘creekoo_tj’) == ‘Display’) { ? – ?php echo stripslashes(get_option(‘creekoo_tjcode’)); ??php } else { } ?

/div

 /div

?php wp_footer(); ?

script type=”text/javascript” src=”?php bloginfo(‘template_directory’); ?/comments-ajax.js”/script

script type=”text/javascript” src=”?php bloginfo(‘template_directory’); ?/creekoo.min.js?v1.3″/script

/body

利用VB.NET实现导出DataTable数据到excel中,各位大侠帮帮忙,最好有源码,谢谢,江湖救急

刚好写了个Helper类,你试验一下DataTable2Exce(这个方法代码如下:

Imports System.IO

Imports System.Data

Imports System.Data.OleDb

Public MustInherit Class ExcelHelper

Private Shared Function buildConnStr(excelFilePath As String) As String

Dim excelFileInfo As New System.IO.FileInfo(excelFilePath)

Dim constr As String

If excelFileInfo.Extension = “.xlsx” Then

constr = String.Format(“Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=’Excel 12.0 Xml;HDR=YES;IMEX=1′”, excelFilePath)

Else

constr = String.Format(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=’Excel 8.0;HDR=Yes;IMEX=1′”, excelFilePath)

End If

Return constr

End Function

‘将datatable导入到excel

Public Shared Function DataTable2Excel(dt As DataTable, excelFilePath As String) As Boolean

If File.Exists(excelFilePath) Then

Throw New Exception(“该文件已经存在!”)

End If

If dt.TableName.Trim.Length = 0 Or dt.TableName.ToLower = “table” Then

dt.TableName = “Sheet1”

End If

Dim colCount As Integer = dt.Columns.Count

Dim pa(colCount – 1) As OleDb.OleDbParameter

Dim tableStructStr As String = “Create Table ” dt.TableName “(“

Dim connString As String = buildConnStr(excelFilePath)

Dim objconn As New OleDbConnection(connString)

Dim objcmd As New OleDbCommand

objcmd.Connection = objconn

Dim dataTypeList As New ArrayList

dataTypeList.Add(“System.Decimal”)

dataTypeList.Add(“System.Double”)

dataTypeList.Add(“System.Int16”)

dataTypeList.Add(“System.Int32”)

dataTypeList.Add(“System.Int64”)

dataTypeList.Add(“System.Single”)

Dim i As Integer = 0

For Each col As DataColumn In dt.Columns

If dataTypeList.IndexOf(col.GetType.ToString) 0 Then

pa(i) = New OleDbParameter(“@” col.ColumnName, OleDbType.Double)

objcmd.Parameters.Add(pa(i))

If i + 1 = colCount Then

tableStructStr += col.ColumnName + ” double)”

Else

tableStructStr += col.ColumnName + ” double,”

End If

Else

pa(i) = New OleDbParameter(“@” col.ColumnName, OleDbType.VarChar)

objcmd.Parameters.Add(pa(i))

If i + 1 = colCount Then

tableStructStr += col.ColumnName + ” VarChar)”

Else

tableStructStr += col.ColumnName + ” VarChar,”

End If

End If

i += 1

Next

Try

objcmd.CommandText = tableStructStr

If objconn.State = ConnectionState.Closed Then objconn.Open()

objcmd.ExecuteNonQuery()

Catch ex As Exception

Throw ex

End Try

Dim InsertSql_1 As String = “Insert into ” + dt.TableName + ” (“

Dim InsertSql_2 As String = ” Values (“

Dim InsertSql As String = “”

For colID As Integer = 0 To colCount – 1 Step 1

If colID + 1 = colCount Then

InsertSql_1 += dt.Columns(colID).ColumnName “)”

InsertSql_2 += “@” + dt.Columns(colID).ColumnName + “)”

Else

InsertSql_1 += dt.Columns(colID).ColumnName + “,”

InsertSql_2 += “@” + dt.Columns(colID).ColumnName + “,”

End If

Next

InsertSql = InsertSql_1 + InsertSql_2

For rowID As Integer = 0 To dt.Rows.Count – 1 Step 1

For colID = 0 To dt.Columns.Count – 1

If pa(colID).DbType = DbType.Double And dt.Rows(rowID)(colID).ToString.Trim = “” Then

pa(colID).Value = 0

Else

pa(colID).Value = dt.Rows(rowID)(colID).ToString.Trim

End If

Next

Try

objcmd.CommandText = InsertSql

objcmd.ExecuteNonQuery()

Catch ex As Exception

Throw ex

End Try

Next

Try

If objconn.State = ConnectionState.Open Then objconn.Close()

Catch exp As Exception

Throw exp

End Try

Return True

End Function

‘ 获取Excel文件数据表列表Sheets

Public Shared Function GetExcelTables(ExcelFileName As String) As ArrayList

‘Dim sheets As New List(Of String)

‘conn.Open()

‘Dim dt As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)

‘For Each r In dt.Rows

‘ sheets.Add(r(“TABLE_NAME”))

‘Next

‘conn.Close()

‘Return sheets

Dim dt As DataTable

If Not File.Exists(ExcelFileName) Then

Throw New Exception(“指定的Excel文件不存在”)

Return Nothing

End If

Dim tableList As New ArrayList

Using conn As OleDbConnection = New OleDbConnection(buildConnStr(ExcelFileName))

Try

conn.Open()

dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, “TABLE”})

Catch ex As Exception

Throw ex

End Try

For i As Integer = 0 To dt.Rows.Count – 1

Dim tableName As String = dt.Rows(i)(2).ToString.Trim.TrimEnd(“$”)

If tableList.IndexOf(tableName) 0 Then tableList.Add(tableName)

Next

End Using

Return tableList

End Function

‘将Excel文件导出至DataTable(第一行作为表头)

Public Shared Function InputFromExcel(ExcelFileName As String, TableName As String) As DataTable

If Not File.Exists(ExcelFileName) Then

Throw New Exception(“指定的Excel文件不存在”)

End If

Dim tableList As ArrayList = GetExcelTables(ExcelFileName)

If tableList.IndexOf(TableName) 0 Then

TableName = tableList(0).ToString.Trim

End If

Dim dt As New DataTable

Dim conn As New OleDbConnection(buildConnStr(ExcelFileName))

Dim cmd As New OleDbCommand(“select * from [” TableName “$]”, conn) ‘调试是否需要$

Dim adapter As New OleDbDataAdapter(cmd)

Try

If conn.State = ConnectionState.Closed Then conn.Open()

adapter.Fill(dt)

Catch ex As Exception

Throw ex

Finally

If conn.State = ConnectionState.Open Then conn.Close()

End Try

Return dt

End Function

‘查询excel文件中的一个数据

Public Shared Function ReadOneDataFromExcel(ExcelFileName As String, TableName As String, sql As String) As Object

If Not File.Exists(ExcelFileName) Then

Throw New Exception(“指定的Excel文件不存在”)

End If

Dim tableList As ArrayList = GetExcelTables(ExcelFileName)

If tableList.IndexOf(TableName) 0 Then

TableName = tableList(0).ToString.Trim

End If

Dim dt As New DataTable

Dim conn As New OleDbConnection(buildConnStr(ExcelFileName))

Dim cmd As New OleDbCommand(sql, conn) ‘调试是否需要$

Dim ret As Object

Try

If conn.State = ConnectionState.Closed Then conn.Open()

ret = cmd.ExecuteScalar()

Catch ex As Exception

Throw ex

Finally

If conn.State = ConnectionState.Open Then conn.Close()

End Try

Return ret

End Function

‘获取Excel文件指定数据表的数据列表columnNames

Public Shared Function GetExcelTableColumns(ExcelFileName As String, TableName As String) As ArrayList

Dim dt As DataTable

If Not File.Exists(ExcelFileName) Then

Throw New Exception(“指定的Excel文件不存在”)

Return Nothing

End If

Dim ColList As New ArrayList

Using conn As OleDbConnection = New OleDbConnection(buildConnStr(ExcelFileName))

Try

conn.Open()

dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {Nothing, Nothing, TableName, Nothing})

Catch ex As Exception

Throw ex

End Try

For i As Integer = 0 To dt.Rows.Count – 1

Dim ColName = dt.Rows(i)(“Column_Name”).ToString().Trim()

ColList.Add(ColName)

Next

End Using

Return ColList

End Function

End Class

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/156689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-18 01:57
下一篇 2024-11-18 01:57

相关推荐

  • 云智直聘 源码分析

    本文将会对云智直聘的源码进行分析,包括前端页面和后端代码,帮助读者了解其架构、技术实现以及对一些常见的问题进行解决。通过本文的阅读,读者将会了解到云智直聘的特点、优势以及不足之处,…

    编程 2025-04-29
  • Python网站源码解析

    本文将从多个方面对Python网站源码进行详细解析,包括搭建网站、数据处理、安全性等内容。 一、搭建网站 Python是一种高级编程语言,适用于多种领域。它也可以用于搭建网站。最常…

    编程 2025-04-28
  • 源码是什么

    源码是一段计算机程序的原始代码,它是程序员所编写的可读性高、理解性强的文本。在计算机中,源码是指编写的程序代码,这些代码按照一定规则排列,被计算机识别并执行。 一、源码的组成 源码…

    编程 2025-04-27
  • Go源码阅读

    Go语言是Google推出的一门静态类型、编译型、并发型、语法简单的编程语言。它因具有简洁高效,内置GC等优秀特性,被越来越多的开发者所钟爱。在这篇文章中,我们将介绍如何从多个方面…

    编程 2025-04-27
  • Python怎么看源码

    本文将从以下几个方面详细介绍Python如何看源码,帮助读者更好地了解Python。 一、查看Python版本 在查看Python源码之前,首先需要确认Python版本。可以在命令…

    编程 2025-04-27
  • 源码审计面试题用法介绍

    在进行源码审计面试时,可能会遇到各种类型的问题,本文将以实例为基础,从多个方面对源码审计面试题进行详细阐述。 一、SQL注入 SQL注入是常见的一种攻击方式,攻击者通过在输入的参数…

    编程 2025-04-27
  • 对3ue源码的多方面阐述

    一、3ue源码简述 3ue是一款基于Vue.js开发的富文本编辑器,支持图片上传、粘贴、表格、代码块等多种功能,具有轻量、可定制、易扩展的特点。下面我们将从多个方面对3ue源码进行…

    编程 2025-04-22
  • 全面解析ptable:从使用到源码分析

    ptable是一个轻量级的DOM操作插件,主要用于表格的操作和功能增强。它的使用非常灵活,支持多种操作方式,包括添加、删除、修改、排序、筛选等,可以大大提高表格的效率和易用性。 一…

    编程 2025-04-22
  • 深入分析Redis源码

    一、Redis简介 Redis是一个开源的内存数据结构存储系统,可以用作数据库、缓存、消息队列等。Redis支持多种数据类型,包括字符串、哈希、列表、集合等。Redis基于C语言进…

    编程 2025-04-12
  • JDK源码阅读详解

    一、jdk源码阅读顺序 首先,在开始阅读JDK源码之前,需要按照正确的顺序来阅读代码。一般建议按照以下顺序进行阅读: 1. 先从Java SE的API入手,了解它提供了哪些功能,及…

    编程 2025-04-12

发表回复

登录后才能评论