Perl 处理excel文件

perl处理Excel(跨平台) 前言 更多内容,请访问我的 个人博客。 前言 用perl处理excel有两种流行的模块:一种是 win32:OLE 模块,优点是功能强大,在excel上能做的事情用这个模块都能做,缺点是无法跨平台,必须在win系统上使用且必须安装office软件;另一种是 Spreadsheet 模块,优点是跨平台,不依赖系统和软件,缺点是功能不是很多,但基本功能都能实现。 如果在win平台处理excel,建议... 阅读详情
最近写了一个自动处理DICOM协议tag评估的小程序.基本思路是讲抓到的DICOM分析包,存储成文本文件,然后根据Excel中定义的DICOM协议tag在文本中查找,比对.同时将比对的结果保存到相应的excel文件中.
程序中用到了一些perl处理excel的部分.开始当然啥都不知道,Google了一把后找到了一个例程(忘记从哪里来的了,欢迎砖头指正),还是蛮好用的.后来根据自己的一些经验又进行了一定的整理.把相关的程序贴到这里,供有需要的朋友参考,欢迎讨论.

use strict;
use Cwd;
use Time::Local;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
my $ex;
my $dir = getcwd;
my $file_name = "test1.xls";
# use existing instance if Excel is already running
#About how to use the Win32::OLE, please read the help document. the manual is a part of the manual of office ,you can find it in your system if you installed the Windows Family Office software
#the path location is C:/Program Files/Microsoft Office/OFFICE11/1033,the file name is VBAXL10.CHM
#In advance, I find there are many manuals about the Win32::OLE, such as VBAWD10.CHM is for "Word Object Model";
#VBAPP10.chm is for "PowerPoint Object Model"
#VBAPB10.CHM is for "Publisher Object Model "
#VBAOL11.CHM is for "Outlook Object Model"
#XMLSDK5.CHM is for "MSXML 5.0 SDK"
#and so on. 
$ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) or die "Oops, cannot start Excel";
# get a new workbook
$ex->{DisplayAlerts} = 'True'; 
my $book = $ex->Workbooks->Add;
$book->SaveAs($dir.$file_name);
#$book->SaveAs($file_name);
# 各色操作
my $sheet = $book->Worksheets("Sheet1"); #sheet对象
#$sheet->Columns("B:Q")->{ColumnWidth} = 10; #设置列宽
$sheet->{Name}= "Main"; # sheet改名
$book->Worksheets("Sheet2")->Delete; #删掉sheet2
# 单元格赋值
my $rng = $sheet->Range('A1');
$rng->{value} = "第一格"; #单个单元格赋值
my $rng1 = $sheet->Range('C20');
$rng1->{value} = "第一格";
$rng1->{value} = "zhongguojinpai";

my $array;
$array->[0][0] = "熊伯";
$array->[0][1] = "熊仲";
$array->[0][2]= "熊叔";
$rng = $sheet->Range("A2:C2");
$rng->{'NumberFormat'}="/@";
# let the cell as txt format'
$rng->{Value} = $array;

$array->[0][0] = "大熊";
$array->[1][0] = "二熊";
$array->[2][0] = "三熊";
$rng = $sheet->Range("A3:A5");
$rng->{Value} = $array;
#从单元格读取
my $val = $sheet->Range('A1')->{value};
print "从Excel中读取A1格子:$val/n";
# save and exit
print "finish";
$book->Save();
$ex->Quit;
undef $book;
undef $ex;

读取excel文件(使用perl处理) 做了一个简单的处理excel文件的perl程序,批量读取其中的数据将其转换csv文件 代码如下: #!/usr/local/bin/perl ######################################### #xlstocsv ver 0.2 ! # #xls文件转换csv # #作者:昨 阅读详情

相关推荐

Perl读写excel

讲解perl中读写excel用到的库函数,以及如何使用库函数进行操作。

Perl操作excel2007的模块

Perl操作excel2007的模块

高锦的博客 7351

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

Perl脚本实现tiptop数据导出EXCEL模板

【代码】Perl脚本实现tiptop数据导出EXCEL模板。

四方木 857

从谱峰搜索到多项式求根:Root-MUSIC算法原理与MATLAB实践

本文深入解析Root-MUSIC算法在阵列信号处理中的原理与应用,通过多项式求根替代传统MUSIC算法的谱峰搜索,显著提升计算效率和精度。文章详细介绍了算法核心思想、MATLAB实现步骤及工程优化技巧,帮助读者掌握这一高效的DOA估计方法。

weixin_30832143的博客 80

《AgentScope-Java 深入浅出教程》第3章 消息系统(Message)

在 AgentScope 中,消息(Msg)是最核心的数据结构。│ 消息的作用 ││ ││ │ 用户输入 │ ────────────┐ ││ ▼ ││ │智能体通信│ ◄────► │ 消息对象 │ ◄────► │ LLM API │ ││ ▲ ││ │ ││ │ 历史存储 │ ────────────┘ ││ │用户输入:封装用户的问题和指令智能体输出:封装智能体的回复和工具调用智能体通信:在多智能体系统中传递信息LLM API 交互:转换为 LLM 可理解的格式历史存储。

步子哥的博客 228

Perl处理Excel文件

现在很多数据是以Excel文件格式保存的,对人来讲修改添加都比较方便,但程序处理就比较麻烦。 要对Excel里的数据进行加工,首选VBA,Microsoft一家的东西,肯定最搭。 但不喜欢VBA的风格,还是用自己熟悉的其他语言解决,python的能处理csv的,但转来转去总不是太好。 也有写python的Excel处理模块,但都是python2.x的。 还好我机器上有Perl,就用Perl

caz28的专栏 1万+

布尔可满足性问题(SAT)深度研究

布尔可满足性问题(Boolean Satisfiability Problem, SAT)是计算机科学和数理逻辑中的一个核心决策问题。其定义为:对于一个给定的布尔逻辑公式,判断是否存在一组对其变量的真值赋值(即,为每个变量指定真 (True) 或假 (False)),使得该公式的最终计算结果为真。如果存在这样的赋值,则称该布尔公式是可满足的 (satisfiable);否则,称其为不可满足的 (unsatisfiable)。

步子哥的博客 495

使用perl读写excel表格

用perl读写excel表格1. 说明:最近对perl很感兴趣,正好朋友问我一个excel的问题,不想用宏来写,就用perl练了练手。 所用相关知识如下: 1) perl hash 2) win32::ole,对excel表格控制 3) drag&drop的实现 4) perl2exe,将perl程序转换为windows可执行文件2.需求2.1 功能需求:表格

sirix的专栏 4176

总结一下:电源设计 ≠ 画个电路图就完了

如果你面对一块电源板时,只知道输入输出是多少伏,那你离真正懂它还差十万八千里。你要懂拓扑、理解工作原理、看懂波形、会分析环路、熟练选型,还得懂调试、EMC和热设计——才能自信地说:“我会搞电源了。电源不是一个人能独挑的“电”,而是控制、模拟、热、EMC 多学科交融的“多面体”。这也是为什么它既复杂又迷人✨。

weixin_43199439的博客 144

C# 从数秒到毫秒:MySQL+Redis百万数据优化实战全解析

在处理百万级数据时,传统单体数据库常面临查询效率低下、数据库负载过高和用户体验差等问题。为解决这些性能瓶颈,可以采用MySQL分库分表、Redis缓存和异步统计的组合策略。 数据库分片:通过水平分表和分库实现,将单表数据分散到多个物理表或数据库实例中,降低单点负载。 Redis缓存:利用Redis缓存高频数据,减少数据库查询压力,提升响应速度。 异步统计:通过消息队列(如RabbitMQ)解耦统计任务,后台处理非实时任务,避免阻塞主流程。 这些优化策略能够显著提升系统性能,确保在高并发和大数据量场景下的稳定

墨夶的博客 852

Perl 5.28 + QtXlsx:高效处理Excel文件的利器

Perl 5.28 + QtXlsx:高效处理Excel文件的利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代软件开发中,处理Excel文件的需求日益增多,尤其是在数据分析、报告生成和自动化任务中。为了满足这一需求,我们推出了“Perl 5.28 + QtXlsx下载.zip”资源文件,这是一个集成了Perl 5.28版本和QtXlsx模块的综合解决方案。通...

gitblog_09733的博客 685

实战:RK3568 Android14 调试 ES8388 音频驱动 (MIC 篇)

这个板子的MIC设计使用了硬件自动切换方案,极大简化了软件层面的逻辑。我们不需要根据耳机插拔事件去编写复杂的路由切换代码,只需要守住 LIN1/RIN1 这一个入口,配置好增益,剩下的交给那颗 SGM3157 芯片即可。祝您的录音功能调试顺利!

qq_33427070的博客 1678

perl中调用ole 处理excel文件

perl中提供了win32::ole模块来操作excel表格,具体的操作函数和方法可以查阅excel的帮助文档,打开excel文件,从菜单栏"工具"->"宏”->”visual basic 脚本编译器, 选择对象浏览器中excel,就可以查看excel提供的函数和方法。函数的使用方法也可以参考excel vba,baidu搜索一下,就可以找到使用方法。以上方法对任何脚本操作excel都适用

xiaozhujulia的专栏 1160

deepstream车道线检测自定义插件化,其中要注意pipeline的配置,如果插件位置配置不对,会报input format should be RGBA when using blur-obje

以上代码中,我们先从对象池中获取一个 DsUserMeta 对象,然后使用 get_lane_line_from_frame 函数获取车道线检测结果,并使用 add_lane_line_meta 函数将其添加到 DsUserMeta 对象中。注意,上述代码中的 get_lane_line_from_frame 函数和 add_lane_line_meta 函数需要你自己实现,用于从视频帧中提取车道线检测结果,并将其添加到 DsUserMeta 中。

pvmsmfchcs的博客 690

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

探索QTxlsx库与perl安装文件资源下载:提升Excel文档处理效率

探索QTxlsx库与perl安装文件资源下载:提升Excel文档处理效率 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 QTxlsx库与perl安装文件资源下载,助您轻松读写Excel文档。 项目介绍 在现代编程开发中,处理Excel文档是程序员常见的需求之一。QTxlsx库与perl安装文件资源下载项目,旨在为开发者提供一个高效、便捷的解决方案。本仓库包含...

gitblog_06711的博客 444

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python脚本处理excel文件

分别尝试用perl和python处理excel文件,发现perl的比较复杂,比如说read excel就有很多方式不同的method,对应的取sheet的cell方式也不一样。更复杂的是处理含有中文内容的Excel。用perl目前没有成功过。对于python来说就比较简单,目前使用openpyxl库,处理起来清晰明了。

cy413026的博客 697

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

perl处理excelwenjian

#!/usr/bin/perl use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3;                                # die on errors... # get already act

hitrose27的专栏 1202

【Perl】与【Excel】

perl脚本语言对于文本的处理、转换很强大。对于一些信息量庞大的文本文件,看起来不直观,可以将信息提取至excel表格中,增加数据分析的可视化。perl语言的cpan提供了大量模块。第一个用于对现有excel 表格的解析,第二个用于创建新的excel文件。如果单纯是将文本信息提取到excel表格中其实第二个模块用的更多。看自己需求吧。

记录所学,分享知识,结识挚友 1367

在Perl中读写Excel表

Perl中读写Excel很方便,贴段代码为以后参考。 读写Excel的组件需要另外安装,指令如下: perl -MCPAN -e shell -&gt; install Spreadsheet::WriteExcel perl -MCPAN -e shell -&gt; install Spreadsheet::ParseExcel #!/usr/bin/perl use Sp...

huobengluantiao8 177

Perl处理Excel

前言 更多内容,请访问我的 个人博客。 优点 无需安装模块依赖,功能强大 缺点 无法实现跨平台,必须依赖win系统和office软件 如果想实现跨平台处理excel请移步 perl处理Excel(跨平台) use FindBin qw($Bin); use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; m...

weixin_34115824的博客 696

Perl查找资源文件

Perl查找资源文件 这几天做一个本地化项目,翻译组要做log纪录很累,以前直听说Perl文本处理的功能很强,一时兴起,就现学现用用perl为他们写了个自动抓取变更纪录的perl程序,发现Perl真的很强大,程序如下:#!/usr/bin/perl -wuse encoding 'UTF-8', STDIN =>'UTF-8', STDO...

weixin_30685047的博客 161

perl 知识点与应用

1、Perl处理Excel文件:http://blog.youkuaiyun.com/caz28/article/details/7943530 2、perl DBI使用详解:http://blog.youkuaiyun.com/fan_zhen_hua/article/details/6078337 3、perl http模块总结:http://zk1878.iteye.com/blog/1842123

gaoguide2015的博客 530

csv,txt,excel文件之间的转换,perl脚本

最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&amp;excel 和txt&amp;excel写的perl脚本。 主要用到的模块是:   Text::CSVSpreadsheet::WriteExcel Spreadsheet::Pars...

weixin_33890526的博客 1210
上一篇: 露从今夜白,月是故乡明
下一篇: 网络上的诚信
台风双头蛇
博客等级 码龄26年 7粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值