完美地将visual basic和office 办公软件结合起来。来自微软公司VSTO小组的权威专家所编著。

全书共712页,内容极其全面而深入,猛一看,厚地犹如庞然大物。看完离大神就不远了哦<^ . ^>!!!!!

《VSTO开发指南》是2008年2月电子工业出版社出版的图书,

作者是(美国)Eric Carter   Eric Lippert

实例1:从Excel程序到Excel表 书本中的内容(第7页):

程序清单1.1. 在Excel中从Application对象到Worksheet

Dim myWorkbooks As Excel.Workbooks = app.Workbooks
Dim myWorkbook As Excel.Workbook = myWorkbooks.Item()
Dim myWorksheets As Excel.Sheets = myWorkbook.Worksheets
Dim myWorksheet As Excel.Worksheet
myWorksheet = CType(myWorksheets.Item(), Excel.Worksheet)

Visual basic 2013 中的控制台应用程序:

实现目标:获取第一个工作表的名称。

实现步骤:项目——>添加引用——>程序集——>扩展——>Microsoft.Office.Interop.Excel——>确定

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
Dim myWorkbook1 As excel.Workbook = myWorkbooks.Item()
Dim myWorksheets As excel.Sheets = myWorkbook1.Worksheets
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorkbook.Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(myWorkbooks.Add().Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

也可以为代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add().Worksheets.Item(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub
End Module

实例效果:

简化程序清单1.1中的代码为:

书中的内容:

Dim myWorksheet As Excel.Worksheet
myWorksheet = CType(app.Workbooks.Item().Worksheets.Item(), Excel.Worksheet)

编写代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add().Worksheets.Add(), excel.Worksheet)
MsgBox(myWorksheet.Name)
End Sub End Module

实例效果:

注:区分程序、工作簿、工作表的概念,程序就是我们安装的Excel,程序可以创建多个工作簿,一个工作簿可以创建多个工作表。我们平时所说的Excel文件就是工作簿,而工作簿是要用程序来创建的。

实例1自续:创建Excel工作簿,再创建工作表,并在A1单元格中输入内容“这是A1”

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
myWorksheet = CType(myWorkbook.Sheets.Add(), excel.Worksheet)
myWorksheet.Cells(, ) = "这是A1"
End Sub
End Module

实例效果:

实例2:Excel表的count属性和item属性 书本中的内容(第7页):     

程序清单1.2 以整数或字符串索引形式使用count和item属性对集合进行循环处理

Dim myWorkbooks As Excel.Workbooks = app.Workbooks

Dim workbookCount As Integer = myWorkbooks.Count
For i As Integer = To workbookCount
' Get the workbook by its integer index
Dim myWorkbook As Excel.Workbook = myWorkbooks.Item(i) ' Get the workbook by its string index
Dim workbookName As String = myWorkbook.Name Dim myWorkbook2 As Excel.Workbook = _
myWorkbooks.Item(workbookName)
MsgBox(String.Format("Workbook {0}", myWorkbook2.Name))
Next

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
myWorksheet = CType(myWorkbook.Sheets.Add(), excel.Worksheet)
myWorksheet.Cells(, ) = "这是A1" Dim worksheetCount As Integer = myWorkbook.Worksheets.Count
For i As Integer = To worksheetCount
Dim str As String
str = myWorkbook.Worksheets.Item(i).Name '以整数作为索引
MsgBox(str, , "获取工作表名称")
Next For i As Integer = To worksheetCount
Dim str As String
str = myWorkbook.Worksheets.Item("sheet" & i).Name
MsgBox(str, , "获取工作表名称") '以字符串作为索引
Next
End Sub
End Module

实例效果:

                 

实例2自续:编辑工作表sheet2中D3单元格,并填入“我是丑丑”

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook
'Dim myWorksheet As excel.Worksheet
app.Visible = True
myWorkbook = app.Workbooks.Add()
'myWorksheet = CType(myWorkbook.Sheets.Add(, , 3,), Excel.Worksheet) '第3个参数表示添加多少工作表,这里添加3个,
Dim C4_sheet As excel.Worksheet = myWorkbook.Worksheets.Item("sheet2") '工作表的索引从0开始,
C4_sheet.Cells(, ) = "我是丑丑" 'Cells(行,列),也就是D3单元格 这里不能用range属性代替,应为range属性是只读属性
End Sub
End Module

实例效果:

实例3:学习For each循环结构 书本内容(第8页)

程序清单1.3 使用for each循环处理集合

Dim myWorkbooks As Excel.Workbooks = app.Workbooks
For Each workbook As Excel.Workbook In myWorkbooks
MsgBox(String.Format("Workbook {0}", workbook.Name))
Next

实例代码;

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add()
'Dim myWorkbook As excel.Workbook = myWorkbooks.Add("D:\职工人员表.xls")
For Each workbook As excel.Workbook In myWorkbooks
MsgBox(String.Format("Workbook {0}", workbook.Name))
Next End Sub
End Module

实例效果(不尽如人意):

改进实例:删除工作表

实例代码: 

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook = app.ActiveWorkbook
app.Visible = True
myWorkbook = app.Workbooks.Add("E:\工作簿1") '"工作簿1.xls"是一个模板,相当另外新建了一个"工作簿11.xls"并打开了
Dim myCollection As New Collections.Generic.List(Of excel.Worksheet)
For Each Name As excel.Worksheet In myWorkbook.Worksheets
myCollection.Add(Name)
Next
For Each name As excel.Worksheet In myCollection
name.Delete()
Next
End Sub
End Module

实例效果:

 实例4:删除对象用集合 书本内容(8页)

程序清单1.4 删除对象时使用另一个集合

Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook
Dim myCollection As New Collections.Generic.List(Of Excel.Name) For Each name As Excel.Name In myWorkbook.Names
myCollection.Add(name)
Next For Each name As Excel.Name In myCollection
name.Delete()
Next

注:代码中的Excel.Name并不字符串,而是一个对象。

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbook As excel.Workbook = app.ActiveWorkbook
app.Visible = True
myWorkbook = app.Workbooks.Add("E:\工作簿1") '"工作簿1.xls"是一个模板,相当另外新建了一个"工作簿11.xls"并打开了
Dim myCollection As New Collections.Generic.List(Of excel.Range)
For Each Name As excel.Range In myWorkbook.Worksheets("Sheet1").Range("A1:D5") '由于是删除,所以下面的行会自动向上缩进
myCollection.Add(Name)
Next
For Each name As excel.Range In myCollection
name.Delete() '由于是删除,所以下面的行会自动向上缩进
Next
End Sub
End Module

实例效果:

实例7:Word的application判断CapsLock属性值,书本第9页。

注:从实例7开始了Word,所以在引用里要添加“Microsoft.Office.Interop.Word”

程序清单1.5 返回值类型的属性:Word应用程序对象上的布尔型CapsLock属性

If app.CapsLock Then
MsgBox("CapsLock is on")
Else
MsgBox("CapsLock is off")
End If

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim app As word.Application = New word.Application
If app.CapsLock Then
MsgBox("CapsLock is on")
Else
MsgBox("CapsLock is off")
End If
End Sub
End Module

实例效果:

   

实例7:判断word文档是最大化、最小化还是常规化,书本第11页

 程序清单1.6 返回枚举的属性:Word应用程序对象上的windowstate属性

Select Case app.WindowState
Case Word.WdWindowState.wdWindowStateMaximize
MsgBox("Maximized")
Case Word.WdWindowState.wdWindowStateMinimize
MsgBox("Minimized")
Case Word.WdWindowState.wdWindowStateNormal
MsgBox("Normal")
End Select

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocuments As word.Documents = APP.Documents
Dim myDocument As word.Document = myDocuments.Add()
APP.Visible = True
Select Case app.WindowState
Case word.WdWindowState.wdWindowStateMaximize
MsgBox("Maximized")
Case word.WdWindowState.wdWindowStateMinimize
MsgBox("Minimized")
Case word.WdWindowState.wdWindowStateNormal
MsgBox("Normal")
End Select
End Sub
End Module

实例效果:

  

实例7:活动文档(ActiveDocument),书本第11页

 程序清单1.7 返回对象模型中的另一个对象属性:Word应用程序对象中的ActiveDocument属性

Dim myDocument As Word.Document = app.ActiveDocument
MsgBox(myDocument.Name)

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocuments As word.Documents = APP.Documents
Dim myDocument As word.Document = myDocuments.Add()
APP.Visible = True
Dim myDocument1 As word.Document = APP.ActiveDocument
MsgBox(myDocument1.Name)
End Sub
End Module

实例效果:

 实例8:没有活动文档的异常,书本第11页

程序清单1.8 可能抛出异常的属性:Word应用程序对象上的ActiveDocument属性

Dim myDocument As Word.Document
Try
myDocument = app.ActiveDocument
MsgBox(myDocument.Name)
Catch ex As Exception
MsgBox(String.Format("No active document: {0}", ex.Message)
End Try

示例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1 Sub Main()
Dim APP As word.Application = New word.Application
Dim myDocument As word.Document
APP.Visible = True
Try
myDocument = APP.ActiveDocument
MsgBox(myDocument.Name)
Catch ex As Exception
MsgBox(String.Format("No active document: {0}", ex.Message))
End Try
End Sub
End Module

实例效果:

 实例9:没有打开Excel,就返回nothing书本第11页。

程序清单1.9 可能返回Nothing的属性:Excel应用程序对象中的ActiveWorkBook属性

Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook

If myWorkbook Is Nothing Then
MsgBox("No active workbook")
Else
MsgBox(myWorkbook.Name)
End If

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1 Sub Main()
Dim APP As excel.Application = New excel.Application
Dim myWorkbook As Excel.Workbook = app.ActiveWorkbook If myWorkbook Is Nothing Then
MsgBox("No active workbook")
Else
MsgBox(myWorkbook.Name)
End If
End Sub
End Module

实例效果:

 实例10:Word应用程序的文件对话框(FileDialog)属性 第12页

注:实例10中出现了文件对话框,所以引用里要添加“Microsoft office 14.0 object library”,FileDialog来源于Microsoft.office.core.Filedialog。

程序清单1.10 需要枚举型参数并返回对象模型的属性:Word应用程序对象上的FileDialog属性

Dim dialog As Office.FileDialog
dialog = app.FileDialog(Office.MsoFileDialogType. _
msoFileDialogFilePicker)
dialog.Show()

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim dialog As word.Dialog
dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
dialog.Show()
End Sub
End Module

  实例效果:

实例拓展(来自MSDN):

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim dlg As word.Dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(word.Dialog)
' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
Reflection.BindingFlags.SetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, New Object() {"Testing"}, _
System.Globalization.CultureInfo.InvariantCulture)
' Display the dialog box.
dlg.Show()
' Show the Name property.
MsgBox(dlgType.InvokeMember("Name", _
Reflection.BindingFlags.GetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, Nothing, _
System.Globalization.CultureInfo.InvariantCulture))
End Sub
End Module

实例效果:

实例11:Excel应用程序对象上的Range属性 书本第13页

程序清单1.11 具有可选参数的属性:Excel应用程序对象上的Range属性

' Omit the optional second parameter
Dim myRange As Excel.Range = app.Range("A1") ' Specify the optional second parameter
Dim myRange2 As Excel.Range = app.Range("A1", "B2")

实例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorkbooks As excel.Workbooks = app.Workbooks
Dim myWorkbook As excel.Workbook = myWorkbooks.Add("E:\工作簿1.xlsx")
app.Visible = True
Dim myRange As String = myWorkbook.Worksheets("sheet1").Range("A1").text
'Dim myRange2 As String = myWorkbook.Worksheets("sheet1").Range("A1", "B2").text
MsgBox(String.Format("单元格中的值:{0}", myRange))
End Sub
End Module

实例效果:

小结一下:

最单的一步到位的一种从程序到我们常见的工作表的代码写法:

        'Earlier in this chapter, we presented this code as a simple way of navigating the object hierarchy of Excel to get a Worksheet object:
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Item().Worksheets.Item(), excel.Worksheet)
'There is an even simpler way to write this code. It can be rewritten like this:
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks().Worksheets(), excel.Worksheet)
Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim myWorksheet As excel.Worksheet
myWorksheet = CType(app.Workbooks.Add("E:\工作簿1.xlsx").Worksheets.Item("sheet1"), excel.Worksheet)
Dim myRange As String = myWorksheet.Range("A1").text
MsgBox(String.Format("单元格中的值:{0}", myRange))
End Sub
End Module

实例12 activate方法激活Word 书本第14页

程序清单 1.12 没有参数没有返回类型的方法:Word应用程序对象中的Activate方法

MsgBox("Activating the Word window.")

app.Activate()

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim myDocuments As word.Documents = app.Documents
Dim myDocument As word.Document = myDocuments.Add()
app.Visible = True
MsgBox("Activating the Word window.")
app.Activate()
End Sub
End Module

实例效果:

实例13 Word程序改变打开路径 书本第14页

程序清单1.13 具有参数但没有返回值的方法:Word应用程序对象中的ChangeFileOpenDirectory方法

app.ChangeFileOpenDirectory("c:\temp")

MsgBox("Will open out of temp for this session.")

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
app.ChangeFileOpenDirectory("c:\temp")
Dim dialog As word.Dialog
dialog = app.Dialogs(word.WdWordDialog.wdDialogFileOpen)
dialog.Show()
End Sub
End Module

实例效果:

实例14 获得Word的像素值

程序清单1.14 没有参数但有返回值的方法:Word应用程序对象中的DefaultWebOptions方法

Dim options As Word.DefaultWebOptions = app.DefaultWebOptions()

MsgBox(String.Format("Pixels per inch is {0}.", _
options.PixelsPerInch))

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim options As word.DefaultWebOptions = app.DefaultWebOptions
MsgBox(String.Format("pixels per inch is {0}", options.PixelsPerInch))
End Sub
End Module

实例效果:

 实例15 Word的属性CentimetersToPoints将厘米转换为对应的点数  书本第14页

程序清单1.15 具有参数和返回值的方法:Word应用程序对象中的CentimetersToPoints方法

Dim centimeters As Single = 15.0

Dim points As Single = app.CentimetersToPoints(centimeters)

MsgBox(String.Format("{0} centimeters is {1} points.", _
centimeters, points))

实例代码:

Imports word = Microsoft.Office.Interop.Word
Module Module1
Sub Main()
Dim app As word.Application = New word.Application
Dim centimeters As Single = 15.0
Dim points As Single = app.CentimetersToPoints(centimeters)
MsgBox(String.Format("{0} centimeters is {1} points.", centimeters, points))
'1 centimeter = 28.34646 point
End Sub
End Module

实例效果:

 实例16 Excel程序的CheckSpelling方法检查单词拼写   书本第15页

程序清单1.16 具有可选参数和返回值的方法:Excel应用程序对象中的CheckSpelling方法

Dim phrase1 As String = "Thes is spelled correctly."
Dim phrase2 As String = "This is spelled correctly AFAIK." Dim isCorrect1 As Boolean = app.CheckSpelling(phrase1)
Dim isCorrect2 As Boolean = app.CheckSpelling(phrase2, , True)

示例代码:

Imports excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim app As excel.Application = New excel.Application
Dim phrase1 As String = "Thes is spelled correctly."
Dim phrase2 As String = "This is spelled correctly AFAIK."
Dim isCorrect1 As Boolean = app.CheckSpelling(phrase1)
Dim isCorrect2 As Boolean = app.CheckSpelling(phrase2, , True)
MsgBox("phrase1: " & isCorrect1 & Chr() & Chr() & "phrase2: " & isCorrect2)
End Sub

实例效果:

实例17  处理Excel Application 对象中WindowActivate事件 书本第17页

程序清单 1.17 处理Excel Application对象中WindowActivate事件的VSTO自定义机制

Public Class Sheet1

  Public WithEvents app As Excel.Application

  Private Sub app_WindowActivate(ByVal Wb As Excel.Workbook, _
ByVal Wn As Excel.Window) Handles app.WindowActivate MsgBox("The window " & Wn.Caption & " was just activated.") End Sub Private Sub Sheet1_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup app = Me.Application End Sub End Class

实例代码:

Public Class sheet1
Public WithEvents app As Excel.Application
Private Sub app_WindowActivate(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window) Handles app.WindowActivate
MsgBox("The window " & Wn.Caption & " was just activated.")
End Sub
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
app = Me.Application
End Sub
End Class

实例效果:

实例18 WindowActivate事件动态添加和删除事件处理器 书本第19页

程序清单1.18 VSTO自定义机制,用于为Excel应用程序对象的WindowActivate事件动态添加和删除事件处理器

Public Class Sheet1

  Public app As Excel.Application

  Private Sub MyWindowActivateHandler(ByVal Wb As _
Excel.Workbook, ByVal Wn As Excel.Window) MsgBox("The window " & Wn.Caption & " was just activated.")
RemoveHandler app.WindowActivate, _
AddressOf Me.MyWindowActivateHandler End Sub Private Sub Sheet1_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup app = Me.Application
AddHandler app.WindowActivate, _
AddressOf Me.MyWindowActivateHandler End Sub End Class

实例代码:

Public Class Sheet1

    Public app As Excel.Application
Private Sub MyWindowActivateHandler(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window)
MsgBox("The window " & Wn.Caption & " was just activated.")
RemoveHandler app.WindowActivate, AddressOf Me.MyWindowActivateHandler
End Sub
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
app = Me.Application
AddHandler app.WindowActivate, AddressOf Me.MyWindowActivateHandler
End Sub End Class

实例效果:

VSTO开发指南(VB2013版) 第一章 Office对象模型的更多相关文章

  1. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  2. 《NodeJs开发指南》第五章微博开发实例的中文乱码问题

    在<NodeJs开发指南>第五章,按照书中的要求写好微博实例后,运行代码,发现中文显示出现乱码,原因是:views文件夹下的ejs文件的编码格式不是utf-8. 解决方法:以记事本方式打开 ...

  3. 《NodeJS开发指南》第五章微博实例开发总结

    所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...

  4. Pro ASP.NET Core MVC 第6版 第一章

    目录 第一章 ASP.NET Core MVC 的前世今生 ASP.NET Core MVC 是一个微软公司开发的Web应用程序开发框架,它结合了MVC架构的高效性和简洁性,敏捷开发的思想和技术和.N ...

  5. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  6. Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  7. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  8. 《JavaScript设计模式与开发实践》笔记第一章

    第一章 面向对象的JavaScript 动态类型语言和鸭子类型 编程语言按照数据类型大体可以分为两类:静态类型语言.动态类型语言. 静态类型语言:在编译时便已确定变量的类型. 优点: 在编译时就能发现 ...

  9. 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记

    这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...

随机推荐

  1. ASP.Net Core 发布到IIS Http Error 502.5 官方解决办法

    Http Error 502.5 - Process Failure 在IIS上发布.NET Core程序出现这个错误.网上搜索到的办法为什么总行不通呢? 有可能年代久远,现在的环境与当年不同,所以解 ...

  2. mysql5.7的基本使用

    mysql的基本使用:最简单的增删改查 (建议用类似记事本的东西写代码,错了容易改) 以下就是这篇文章的代码 一,增和查   CREATE DATABASE one; 新建了一个名为one的数据库 S ...

  3. 在python开发工具PyCharm中搭建QtPy环境(详细)

    在python开发工具PyCharm中搭建QtPy环境(详细) 在Python的开发工具PyCharm中安装QtPy5(版本5):打开“File”——“Settings”——“Project Inte ...

  4. Android Studio中Gradle sync failed

    问题:Android Studio中更新同步Gradle 失败 Gradle sync failed: Could not find com.android.tools.build:gradle:3. ...

  5. C语言系列之实验楼笔记(一)

    创建C程序的几个过程: 1.编辑:创建和修改C程序的源代码 2.编译:编译器可以将源代码转成机器语言.linux 这些文件扩展名.o 3.链接:通过一次完成编译和链接 4.执行;运行程序 打开xfce ...

  6. 死磕dtd(1)

    看到安卓开发里大量的xml文件和layout里的Android UI开始复习一下xml xml的校验规则依据dtd dtd里面大小写敏感.....查找了好久才发现这个问题 <?xml versi ...

  7. Java 中序列化与反序列化

    一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...

  8. SQLYOG导入数据时报错,出现找不到Microsoft office 元驱动程式,并且无法安装64位office Access驱动

    当我们使用mysql导入外部数据时(如Excel表),有时会出现如下的错误问题,即找不到64位access驱动.为了解决这个问题,我们需要下载相应的驱动,通过下图中的点击此链接即可进入下载页面(htt ...

  9. postman之上传文件

    前言 小伙伴们在日常工作中有没测试过上传文件的接口呢?那么怎么用postman测试上传文件的接口呢?下面我们一起来学习吧! 需求:(1)上传接口地址:http://localhost:8080/pin ...

  10. 从Golang中open的实现方式看Golang的语言设计

    Golang有很多优点: 开发高效:(C语言写一个hash查找很麻烦,但是go很简单) 运行高效:(Python的hash查找好写,但比Python高效很多) 很少的系统库依赖:(环境依赖少,一般不依 ...