VC控制EXCEL的基本操作之設定篇
設定篇 |
1 設定單元格的值 1) 選中指定單元格,使用SetValue設定值 CellName.Format(_T("A%d"),i);//單元格的名稱 range.AttachDispatch(sheet.GetRange(COleVariant(CellName),COleVariant(CellName)));//載入單元格range.SetValue(COleVariant(subFileName)); CellName.Format(_T("C%d"),i);//單元格的名稱 range.AttachDispatch(sheet.GetRange(COleVariant(CellName),COleVariant(CellName)));//載入單元格 range.SetValue(COleVariant((long)i)); 2) 選中所有的單元格, 使用SetItem 設定指定單元格的值 range.AttachDispatch(sheet.GetCells(),TRUE);//載入所有單元格 //設定第I行 第1、2、3列的值 range.SetItem(COleVariant((long)(i)),COleVariant((long)1),COleVariant(subFileName)); //第一列 range.SetItem(COleVariant((long)(i)),COleVariant((long)2),COleVariant(unicodeStr)); //第二列 range.SetItem(COleVariant((long)(i)),COleVariant((long)3),COleVariant((long)i)); //第三列 |
2 設定行高列寬 選中某列 設定列寬 //獲得所有列 range.AttachDispatch(sheet.GetColumns(),true); //設定第一列的列寬 Range cols cols.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal,TRUE); cols.SetColumnWidth(COleVariant((long)10)); //設定列寬 //設定第4列的列寬 cols.AttachDispatch(range.GetItem(COleVariant((long)4),vtMissing).pdispVal,TRUE); cols.SetColumnWidth(COleVariant((long)10)); //設定列寬 //設定列寬為自動適應 cols.AutoFit(); 設定行高 Range rows; range.AttachDispatch(sheet.GetRows(),TRUE); //選擇第一行 rows.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal); //設定行高 rows.SetRowHeight(COleVariant((long)60)); 注意: 行高列寬使用的單位不一樣 |
3 設定單元格型別 range.AttachDispatch(sheet.GetCells(),TRUE);//載入所有單元格 range.SetNumberFormat(COleVariant(L"@")); //將單元格設定為文字型別 |
4 設定單元格字型 Font ft; //設定第一列的字型 range.AttachDispatch(sheet.GetColumns(),true); range.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal,TRUE); //字型作用範圍 ft.AttachDispatch(range.GetFont()); ft.SetName(COleVariant(_T("宋體"))); ft.SetSize(COleVariant((long)48)); ft.SetBold(COleVariant((long)1));//粗體 ft.SetColorIndex(COleVariant((long)2));//設定字型顏色 |
5 設定單元格背景色 range.AttachDispatch(sheet.GetRange(COleVariant(_T("A1")),COleVariant(_T("D1")))); //////////////設定底色///////////////// Interior it; it.AttachDispatch(range.GetInterior()); it.SetColorIndex(COleVariant((long)11));//標題底色 ////表格內容的底色//// range.AttachDispatch(sheet.GetRange(COleVariant(_T("A2")),COleVariant(_T("D5")))); it.AttachDispatch(range.GetInterior()); it.SetColorIndex(COleVariant((long)15)); |
6 設定表格邊框 1) range.AttachDispatch(sheet.GetRange(COleVariant(_T("A2")),COleVariant(_T("D5")))); //LineStyle=線型Weight=線寬ColorIndex=線的顏色(-4105為自動) range.BorderAround(COleVariant((long)1),(long)2,((long)-4105),vtMissing);//設定邊框 2) range.AttachDispatch(sheet.GetRange(COleVariant(_T("A2")),COleVariant(_T("D5")))); _variant_t v1; //線型 _variant_t v2; //寬度 _variant_t v3; //顏色 v1.vt=VT_I2; v1.lVal=2; // 線的樣式:- no line; 1-solid; 2-big dot;3-small dot;4-dash dot; 5-dash dot dot; v2.vt=v1.vt; v2.lVal=3; // 線的粗細程度 v3.vt=v1.vt; v3.lVal=1; // 1-black;2-white;3-red;4-green;5-blue; 6-yellow; 7-pink;8-dark blue; UnitRge.BorderAround(v1,v2,v3,vtMissing);//設定邊框 |
7 合併單元格 1) //合併單元格 //載入要合併的單元格 range.AttachDispatch(sheet.GetRange(COleVariant(_T("A1")),COleVariant(_T("D1"))),TRUE); range.Merge(COleVariant((long)0)); 2) //將第一個單元格合併成行,列 range.AttachDispatch(sheet.GetCells()); unionRange.AttachDispatch(range.GetItem (COleVariant((long)1),COleVariant((long)1)).pdispVal ); //第一個單元格 unionRange.AttachDispatch(unionRange.GetResize(COleVariant((long)3),COleVariant((long)2))); //GetResize(3,2) 從第一個單元格開始合併行列的所有單元格 unionRange.Merge(COleVariant((long)0)); //合併單元格 |
8 設定單元格文字為自動換行 及排列方式 range.AttachDispatch(sheet.GetUsedRange());//載入已使用的單元格 range.SetWrapText(COleVariant((long)1));//設定單元格內的文字為自動換行 //設定齊方式為水平垂直居中 //水平對齊:預設=1,居中=-4108,左=-4131,右=-4152 //垂直對齊:預設=2,居中=-4108,左=-4160,右=-4107 range.SetHorizontalAlignment(COleVariant((long)-4108)); range.SetVerticalAlignment(COleVariant((long)-4108)); |
9 在單元格中插入公式 //選擇A2單元格,插入一個公式"=RAND()*100000",並設定A2數字格式為貨幣形式 range=sheet.GetRange(COleVariant(L"A2"),COleVariant(L"A2")); range.SetFormula(COleVariant(L"=RAND()*100000")); range.SetNumberFormat(COleVariant(L"$0.00")); |
10 在單元格中插入圖片 Shapes shapes = sheet.GetShapes();// 從Sheet物件上獲得一個Shapes range.AttachDispatch(sheet.GetRange(COleVariant(L"E5"),COleVariant(L"E5"))); // 獲得Range物件,用來插入圖片 shapes.AddPicture( L"d:\\pic.bmp " , false , true , (float)range.GetLeft().dblVal ,(float)range.GetTop().dblVal,(float)range.GetWidth().dblVal,(float)range.GetHeight().dblVal); ShapeRange sRange = shapes.GetRange(_variant_t(long(1))); sRange.SetHeight(float(30)); //在RANGE範圍內 設定圖片寬高 |
11 對選取的區域進行排序 #define xlAscending (long) 1 #define xlDescending (long) 2 #define vOpt COleVariant((long) DISP_E_PARAMNOTFOUND, VT_ERROR) #define xlHeader (long) 1 // 選取的區域有標題 #define xlNoHeader (long) 2 // 選取的區域無標題 一定要正確確定是否有標題,否則排序可能不成功 #define xlMatchCase COleVariant((long) 1) #define xlIgnoreCase COleVariant((long) 0) #define xlTopToBottom (long) 1 // 垂直方向進行排序 #define xlLeftToRight (long) 2 // 水平方向進行排序 #define xlPinYin (long) 1 // this is the default // 按字元的中文拼音進行排序 #define xlStroke (long) 2 // 按每個字元中的筆畫數進行排序 VARIANT key1; // these lines set up first arg (key1) to sort V_VT(&key1) = VT_DISPATCH; // 排序時,關鍵字的vt設定為VT_DISPATCH V_DISPATCH(&key1) = sheet.GetRange(COleVariant(L"A1"),COleVariant(L"A1")); // 設定按哪個關鍵字進行排序 選擇單元意為:按此列(或行)為主關鍵字進行排序 range=sheet.GetRange(COleVariant(L"A1"),COleVariant(CellName)); // 選擇對哪些區域內的單元格進行排序 range.Sort(key1, xlAscending, vOpt, vOpt, xlAscending, vOpt,xlAscending,xlNoHeader,vOpt,xlIgnoreCase,xlTopToBottom,xlPinYin); //設定排序 無標題時一定要設定為xlNoHeader 否則不起作用 |
參考資料:
相關推薦
VC控制EXCEL的基本操作之設定篇
設定篇 1 設定單元格的值 1) 選中指定單元格,使用SetValue設定值 CellName.Format(_T("A%d"),i);//單元格的名稱 range.AttachDispat
python檔案的基本操作之控制檔案指標
f.tell #每次統計都是從檔案頭到當前指標所在位置####只要在t 模式在是read(n)n代表字元個數,除此之外的檔案指標都是以bytes為單位 # f=open('c.txt',mode='rt',encoding='utf-') # print(f.read(3)) # f
目錄基本操作之mkdir命令
用戶 信息 version 上下文 mkdirmkdir命令主要用來創建目錄。語法 mkdir (選項) (參數)選項-Z 設置安全上下文,僅開啟SElinux時有效 -m <目標屬性>或--mode<目標屬性>建立目錄的同時設置目錄的權限 -p或--pa
SQL Server 基本操作之三種增加法
一次 增刪改查 sql 數據的操作 插入 table 增長 類型 val 前言: 數據庫操作避免不了對數據的操作,操作方法大同小異,萬變不離其宗,今就寫一下各種花式操作的根本增刪改查四種操作,今天我們就來說一下增加操作的三種方法 正文: 增加操作是對數據庫進
elasticsearch基本操作之--使用QueryBuilders進行查詢
constant false cor ble conn 中一 listen terms int /** * 系統環境: vm12 下的centos 7.2 * 當前安裝版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es
Python-借助xlsxwriter對Excel基本操作
ring log tle src ima 文件 條形圖 def title 1導入第三方包,需單獨下載,安裝pip工具的情況下,可使用CMD下命令:pip install xlsxwriter 1 import xlsxwriter 2創建excel文件,新增一個工作簿
web自動化2-selenium基本操作之元素定位
main .com blog text lin div spa wid 操作 id driver.find_elenment_by_id("kw") name driver.find_element_by_name("kw") class name diver.find
mysql基本操作之增刪改查
mysql查詢查詢所有列select * from 表名;例:select * from classes;查詢指定列可以使用as為列或表指定別名select 列1,列2,... from 表名;例:select id,name from classes;增加說明:主鍵列是自動增長,但是在全列插入時需要占位,通
紅黑樹-RBT(二、基本操作之左旋)
都是 spa 左旋 class body 節點 圖片 如果 info 一、左旋 1、當在含有n個關鍵字的紅黑樹上運行時,TREE-INSERT和TREE-DELETE操作對樹作了修改,結果可能違反(一、紅黑樹--》2、定義)中給出的紅黑樹的性質,為了保持這些性質,就要改
linux基本操作之yum程序包管理器
yum在Centos系統中,程序包管理器的核心是rpm: 其後端所使用rpm命令行工具; 前段使用yum命令行工具或dnf命令行工具;程序包管理的前段工具: RHEL/Centos系列發行版linux中,yum和dnf; yum命令行工具: Yellow
linux基本操作之rpm程序包管理器
rpm在linux中的應用程序結構形式分為三種: 1)源代碼形式 2)二進制形式 3)程序包形式其中源代碼是最權威的,二進制形式經過了一系列的編譯、匯編、連接等等其他操作得到可以執行的程序及其他相關的文件,而程序包形式則是二進制形式進一步進行操作,使之可以自動安裝程序包中的所有文件,當然在卸
mongodb的基本操作之數據刪除
table rop test 數據 error: 不同的 mon error tables 刪除操作使用remove進行,數據的刪除與查詢類似,接受一個參數,與查詢不同的是,為了防止誤操作,刪除操作不允許不傳參數 比如 db.test_collection
Python基本操作之文件操作
enc 開頭 基本操作 常用 odin 文件 see tel 文件名 一、 1.文件操作的函數 open("文件名字(路徑)",mode="模式",encoding="字符集") 2.模式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+
Flask中之數據庫框架和模型類四:再述SQLAlchemy配置和基本操作之增刪改查
模糊 offset odi com app ack 字符 add () from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) #設置連接數據庫的URL
File類的基本操作之InputStream位元組輸入流
話不多少。我直接把程式碼貼上來了。有什麼問題請給我留言 package org.mark.streamRW; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /
RDDs基本操作之Transformations
逐元素Transformation map() map()接收函式,把函式應用到RDD的每個元素,返回新的RDD 舉例: val lines = sc.parallelize(Array("hello", "spark", "hello", "world") val lines2 = lines.map
RDD基本操作之Action
介紹 比較 text inf count program 圖片 訪問 器) Action介紹 在RDD上計算出來一個結果 把結果返回給driver program或保存在文件系統,count(),save 常用的Action reduce() 接收一個函數,作用在RDD
redis基本操作之hmset/hmget
import redis.clients.jedis.Jedis; import java.util.HashMap; import java.util.List; import java.util.Map; public class RedisUtil { private static J
二、MongoDB的基本操作之索引
(一)建立索引 1、查詢集合中所有索引 db.imooc_collection.getIndexes() 2、建立索引 db.imooc_collection.ensureIndex({x:1}), (1)ensureIndex建立索引,引數是json文件 (2)key的值不再代
Python處理excel基本操作
近期因為工作需要,用Python處理excel表格資料,其中常用的命令如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : Peidong # @Site : # @File :