现在我用到了控件axSpreadsheet,我想在机器上浏览一个模板文件将其导入到winform中的axSpreadsheet控件中(包含模板文件的格式,标题,颜色,字体等)请问如何实现? 我有多个报表需要用到模板文件,我将其导入之后该何如去操作这个模板文件,将其用到需要模板的报表文件中,望不吝赐教!继昨天那个问题之后,我想问一问,webbrowser控件能否把excel表格嵌入其中?搜索资料都是这个说行,那个说不行,我自己测试一直没能将其嵌入到webbrowser控件中。
解决方案 »
- Winform ContextMenuStrip 鼠标经过 如何改变自定义的背景颜色
- 怎样读取内置文本资源的内容?
- 急救:小弟向各位请教一个打包下载文件的问题!!!
- 请教屏蔽ie文件菜单下打印等功能的方法.
- 一个关于子窗体的问题!在线等!!~!~
- 求助:tabpage通过button变换显示
- 怎样按字母顺序(ABCDEF)动态添加控件
- Listview控件中的图标鼠标拖动更换图标位置
- 如何计算格式为"2003-11-14"和"2003-10-26"的时间差值?
- 求一个简单的四则运算计算器的代码及配图!
- 急求,gridview单行修改的代码,要前台加后台完整代码,鄙人初学..
- 异常处理 避免用户输入出数字以外的字符
kevin_cheung(相识非偶然) 谢谢你 呵呵
参考:
m_DataTable = new DataTable();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + aFileName + ";" +
"Extended Properties=Excel 8.0;";
var conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
strExcel = "select * from [parts$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(m_DataTable);
conn.Close();
方法一:使用.NET的WebBrowser控件;
方法二:使用微软提供的控件(DsoFramer);
方法三:使用API
Imports System.Runtime.InteropServices '使用该语句后可以使用 DllImport 来引用 Dll 内的函数
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr
<DllImport("user32.dll")> Public Shared Function SendMessage(ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
End Function
Private Declare Function ShowWindow Lib "user32.dll " (ByVal hwnd As Int32, ByVal nCmdShow As Int32) As Int32
Private Const WM_SYSCOMMAND As Int32 = &H112
Private Const SC_MAXIMIZE As Int32 = &HF030
Public Const SW_SHOW = 5
Public Const GWL_STYLE = -16
Public Const WS_BORDER = &H800000
Private Const WS_DLGFRAME = &H400000
Public Const SWP_NOMOVE = &H2S
Public Const SWP_NOSIZE = &H1S
Public Const SWP_NOZORDER = &H4S
Public Const SWP_FRAMECHANGED = &H20S
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Execl As New Microsoft.Office.Interop.Excel.Application '创建EXCEL实例
Execl.Workbooks.Add() '添加工作簿
Execl.Visible = True 'EXCEL窗口显示。注意必须显示。
Execl.ScreenUpdating = False '关闭EXCEL荧屏更新
Dim h As IntPtr = Execl.Hwnd '获得EXCEL句柄
Dim lStyle As Int32 = GetWindowLong(h, GWL_STYLE)
lStyle = lStyle And Not WS_BORDER
SetWindowLong(h.ToInt32, GWL_STYLE, lStyle)
SetParent(h, Me.Panel1.Handle) '设置EXCEL的父容器
SetWindowPos(h, IntPtr.Zero, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER Or SWP_FRAMECHANGED)
SendMessage(h, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
ShowWindow(h, SW_SHOW)
Execl.Visible = True
Execl.ScreenUpdating = True
End Sub