树莓派Raspbian系统迎来全新桌面环境--PIXEL

mikel阅读(1456)

来源: 树莓派Raspbian系统迎来全新桌面环境–PIXEL

    今天树莓派基金会Simon Long非常开心的宣布,面向树莓派设备基于Debian的Raspbian GNU/Linux操作系统的全新桌面环境。Raspbian系统此前搭载很高知名度的轻量级LXDE桌面环境,但该桌面环境并非针对树莓派设备而是面向诸多Linux发行版本。为此树莓派基金会在几年前招募了Simon Long,致力于为用户打造更适用的桌面环境。

eb16541d37774cc.jpg_600x600.jpg

经过长达2年的研发和测试,在他的带领下构建了树莓派设备主打系统–Raspbian系统的全新完整桌面环境并通过树莓派基金会发行。新桌面环境称之为PIXEL,全新的Raspbian桌面环境提供了更为养眼的界面设计、全新的图标、全新的应用菜单和全新的主题。

令人感到遗憾的是,PIXEL桌面环境并不默认搭载Epiphany网页浏览器,而是替换使用Chromium。如果你是树莓派用户且并不是十分喜欢LXDE桌面环境,那么你现在可以免费下载PIXEL桌面。现有用户可以通过以下命令进行安装

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y rpi-chromium-mods
sudo apt-get install -y python-sense-emu python3-sense-emu
sudo apt-get install -y python-sense-emu-doc realvnc-vnc-viewer

 

C# Excel合并单元格,并赋值 - 一米阳光的专栏 - 博客频道 - CSDN.NET

mikel阅读(2816)

 

来源: 合并单元格,并赋值 – 一米阳光的专栏 – 博客频道 – CSDN.NET

/// 合并单元格,并赋值,对每个WorkSheet操作
///

///开始行索引 ///开始列索引 ///结束行索引 ///结束列索引 ///合并后Range的值 public void MergeCells(int beginRowIndex,int beginColumnIndex,int endRowIndex,int endColumnIndex,string text)
{
for(int i=1;i<=this.WorkSheetCount;i++)
{
workSheet = (Excel.Worksheet)workBook.Worksheets.get_Item(i);
range = workSheet.get_Range(workSheet.Cells[beginRowIndex,beginColumnIndex],workSheet.Cells[endRowIndex,endColumnIndex]);

range.ClearContents(); //先把Range内容清除,合并才不会出错
range.MergeCells = true;
range.Value = text;
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
}
}

///

/// 合并单元格,并赋值,对指定WorkSheet操作
///

///WorkSheet索引 ///开始行索引 ///开始列索引 ///结束行索引 ///结束列索引 ///合并后Range的值 public void MergeCells(int sheetIndex,int beginRowIndex,int beginColumnIndex,int endRowIndex,int endColumnIndex,string text)
{
if(sheetIndex > this.WorkSheetCount)
{
this.KillExcelProcess();
throw new Exception("索引超出范围,WorkSheet索引不能大于WorkSheet数量!");
}

workSheet = (Excel.Worksheet)workBook.Worksheets.get_Item(sheetIndex);
range = workSheet.get_Range(workSheet.Cells[beginRowIndex,beginColumnIndex],workSheet.Cells[endRowIndex,endColumnIndex]);

range.ClearContents(); //先把Range内容清除,合并才不会出错
range.MergeCells = true;
range.Value = text;
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
}

C#DataTable导出Excel,并实现合并单元格 - 雄风哥 - 博客园

mikel阅读(2858)

来源: C#DataTable导出Excel,并实现合并单元格 – 雄风哥 – 博客园

ASP.NET webwofrm后台代码———-建议Framework4.0及以上,3.5试过出现好多莫名错误…

首先导入两个程序集。我的是 office2003,引用的COM里面的 Microsoft.office.Interop.Excel 14.0   和 程序集里的Microsoft Excel 12.0 Object Library。有多个版本,根据自己的office版本选择。

添加之后引用里力会出现两个DLL Microsoft.office.Core 和Microsoft.office.Interop.Excel

生成一下项目,如果出现  Excel.ApplicationClass()无法互嵌套操作类型 请改用适用的接口 

把引用的Microsoft.Office.Interop.Excel 右击属性 嵌入互操作类型改为false即可

DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn();
dc1.ColumnName = "name";
dc1.DataType = typeof(string);
DataColumn dc2 = new DataColumn();
dc2.ColumnName = "age";
dc2.DataType = typeof(int);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
for (int i = 0; i < 1000; i++)
{
DataRow dr = dt.NewRow();
dr[0] = "茂茂" + i + "号";
dr[1] = i;
dt.Rows.Add(dr);
}
new Class1().DataTabletoExcel(dt, DateTime.Now.Ticks+".xlsx");

先造些数据,然后将datatable和要导出文件名传递给方法。

DataTabletoExcel 方法体,一般的DataTable可以直接导出。比较复杂的结构需要自己定义

/// ///不要图省劲省略了System.Data。Microsoft.office.Interop.DataTable 和System.Data.DataTable 会产生歧义
public void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName)
{

///先得到datatable的行数
int rowNum = tmpDataTable.Rows.Count;
///列数
int columnNum = tmpDataTable.Columns.Count;
///声明一个应用程序类实例
Application xlApp = new ApplicationClass();

//xlApp.DefaultFilePath = ""; ///默认文件路径,将其设置路径后发现没什么变化。导出excel的路径还是在参数strFileName里设置
//xlApp.DisplayAlerts = true;
//xlApp.SheetsInNewWorkbook = 1;///返回或设置 Microsoft Excel 自动插入到新工作簿中的工作表数目。Long 类型,可读写。设置为2之后没发现什么区别
//创建一个新工作簿
Workbook xlBook = xlApp.Workbooks.Add();
///在工作簿中得到sheet。
_Worksheet oSheet = (_Worksheet)xlBook.Worksheets[1];
#region 绘制列
///自定义方法,想sheet中绘制列
RangeBuild(oSheet, "A1", "A2", "编号");
RangeBuild(oSheet, "B1", "B2", "畜主");
RangeBuild(oSheet, "C1", "C2", "地址");
RangeBuild(oSheet, "D1", "D2", "区划");
RangeBuild(oSheet, "E1", "E2", "规模");
RangeBuild(oSheet, "F1", "H1", "总存栏量");
RangeBuild(oSheet, "F2", "F2", "期初");
RangeBuild(oSheet, "G2", "G2", "期末");
RangeBuild(oSheet, "H2", "H2", "变更");
RangeBuild(oSheet, "I1", "K1", "母猪");
RangeBuild(oSheet, "I2", "I2", "期初");
RangeBuild(oSheet, "J2", "J2", "期末");
RangeBuild(oSheet, "K2", "K2", "变更");
RangeBuild(oSheet, "L1", "N1", "肉猪");
RangeBuild(oSheet, "L2", "L2", "期初");
RangeBuild(oSheet, "M2", "M2", "期末");
RangeBuild(oSheet, "N2", "N2", "变更");
RangeBuild(oSheet, "O1", "Q1", "仔猪");
RangeBuild(oSheet, "O2", "O2", "期初");
RangeBuild(oSheet, "P2", "P2", "期末");
RangeBuild(oSheet, "Q2", "Q2", "变更");
RangeBuild(oSheet, "R1", "T1", "公猪");
RangeBuild(oSheet, "R2", "R2", "期初");
RangeBuild(oSheet, "S2", "S2", "期末");
RangeBuild(oSheet, "T2", "T2", "变更");
RangeBuild(oSheet, "U1", "W1", "总面积");
RangeBuild(oSheet, "U2", "U2", "期初");
RangeBuild(oSheet, "V2", "V2", "期末");
RangeBuild(oSheet, "W2", "W2", "变更");
RangeBuild(oSheet, "X1", "Z1", "批建");
RangeBuild(oSheet, "X2", "X2", "期初");
RangeBuild(oSheet, "Y2", "Y2", "期末");
RangeBuild(oSheet, "Z2", "Z2", "变更");
RangeBuild(oSheet, "AA1", "AC1", "未批建");
RangeBuild(oSheet, "AA2", "AA2", "期初");
RangeBuild(oSheet, "AB2", "AB2", "期末");
RangeBuild(oSheet, "AC2", "AC2", "变更");
#endregion
//将DataTable中的数据导入Excel中
for (int i = 0; i < rowNum; i++)
{

for (int j = 0; j < columnNum; j++)
{
///excel中的列是从1开始的
xlApp.Cells[i+2, j+1] = tmpDataTable.Rows[i][j].ToString();
}
}
///保存,路径一块穿进去。否则回到一个很奇妙的地方,貌似是system32里 temp下....
oSheet.SaveAs(@"D:\a\" + strFileName);
}

private static void RangeBuild(_Worksheet oSheet,string startcell,string endcell,string value)
{
///创建一个区域对象。第一个参数是开始格子号,第二个参数是终止格子号。比如选中A1——D3这个区域。
Range range = (Range)oSheet.get_Range(startcell, endcell);
///合并方法,0的时候直接合并为一个单元格
range.Merge(0);
///合并单元格之后,设置其中的文本
range.Value = value;
//横向居中
range.HorizontalAlignment = XlVAlign.xlVAlignCenter;
///字体大小
range.Font.Size = 18;
///字体
range.Font.Name = "黑体";
///行高
range.RowHeight = 24;
//自动调整列宽
range.EntireColumn.AutoFit();
//填充颜色
range.Interior.ColorIndex = 20;
//设置单元格边框的粗细
range.Cells.Borders.LineStyle = 1;
}

我这样导出的excel是这样子的

在raspberry pi(树莓派)上连接VPN - tndroid的专栏 - 博客频道 - CSDN.NET

mikel阅读(3358)

先安装客户端sudo apt-get install pptp-linux然后切换到root下,建立一个配置文件root@raspberrypi:~# cd /etc/ppp/peersroot@raspberrypi:/etc/ppp/peers# vi

来源: 在raspberry pi(树莓派)上连接VPN – tndroid的专栏 – 博客频道 – CSDN.NET

先安装客户端

sudo apt-get install pptp-linux

然后切换到root下,建立一个配置文件

root@raspberrypi:~# cd /etc/ppp/peers
root@raspberrypi:/etc/ppp/peers# vi vpn

内容如下:

pty "pptp XXX.XXX.XXX.XXX --nolaunchpppd"
name 用户名
password 密码
remotename PPTP
require-mppe-128
require-mschap-v2
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
noauth
persist
maxfail 0
defaultroute
replacedefaultroute
usepeerdns

连接/断开vpn:

pon /etc/ppp/peers/vpn
poff /etc/ppp/peers/vpn

(原创)解决Excel 互操作错误"检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005" - goyier - 博客园

mikel阅读(1004)

来源: (原创)解决Excel 互操作错误”检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005″ – goyier – 博客园

最近在.net中处理Excel文件数据导入时报出以下错误:

检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005,如图所示:

可以看到报出的异常类型为:UnauthorizedAccessException,没有权限访问,表明我们需要配置执行操作账户的COM访问权限.

由于系统是Windows Server 2008 64位版的,服务器上安装的Excel版本为Excel 2007 是32位应用程序,所以在系统的组件服务中是找不到Excel的,

此时,需要在32位DCOM配置中设置权限,具体步骤如下:

1.运行命令”comexp.msc -32″,打开组件服务32位管理控制台,如图:

2.在DCOM配置中找到”Microsoft Excel Applcation”,如图:

3.右键->属性,在标识选项卡中选择”交互式用户”,如图:

4.在”安全”选项卡中的”启动和激活权限”分组中,选择”自定义”,然后点击”编辑”,添加执行操作的账户并授予”本地启动”和”本地激活”权限,如图所示

5..在”安全”选项卡中的”访问权限”分组中,选择”自定义”,然后点击”编辑”,添加执行操作的账户并授予”本地访问”权限,如图所示

6.配置结束,重新运行程序,不再报错.

 

windows 安装ionic和cordova - pcaxb的专栏 - 博客频道 - CSDN.NET

mikel阅读(842)

 

来源: win 安装ionic和cordova – pcaxb的专栏 – 博客频道 – CSDN.NET

nodejs下载:下载第一个长期支持的版本,稳定可靠
中文网:http://nodejs.cn/
英文网:https://nodejs.org/en/

安装git,双击git bash打开,用命令安装ionic和cordova

使用淘宝的镜像文件安装,不需要翻墙,直接安装
npm config set registry https://registry.npm.taobao.org

npm install -g ionic

或者
npm –registry https://registry.npm.taobao.org info underscore install -g ionic

如果是安装cordova把上面的ionic改成cordova就可以了,如果    要装某个版本的,就用cordova@4.2.0这样的形式

解决 无法将类型为“Excel._Application的QueryInterface”的 COM 对象强制转换为接口类型 - 难求 专栏 - 博客频道 - CSDN.NET

mikel阅读(1871)

ASP.NET中用C#调用EXCEL进行导出时,有时会出现接口Excel._Application的QueryInterface失败的提示。这通常是office组件安装注册的问题,而非程序本身

来源: 解决 无法将类型为“Excel._Application的QueryInterface”的 COM 对象强制转换为接口类型 – 难求 专栏 – 博客频道 – CSDN.NET

ASP.NET中用C#调用EXCEL进行导出时,有时会出现接口Excel._Application的QueryInterface失败的提示。

无法将类型为 Microsoft.Office.Interop.Excel.ApplicationClass的错误也同样可以

这通常是office组件安装注册的问题,而非程序本身

中英文截图

用这种方式没有用

解决办法

要将office组件的重新注册

点击【开始】→【运行】

找到EXCEL程序的安装目录,将Excel程序托到运行框中

如图,然后在后面 输入 /regserver  确定 就ok了

“D:\Microsoft Office 2003\OFFICE11\EXCEL.EXE”  /regserver

c#中转出Excel时碰到Excel的COM组件没有注册的问题解决方法

mikel阅读(2393)

Office 组件 注册 手工注册

1、如何生成Interop.Excel.dll?

进入你的visual studio的sdk下的bin目录,找到TlbImp.exe文件(实际上可能不在这里,所以可以打开VS的控制台,输入tlbimp看下),如果没有,请用光盘安装此文件,TLBIMP的使用说明MSDN:http://msdn.microsoft.com/zh-cn/library/tt0cf3sx(v=vs.80).aspx
命令行(cmd)进入bin目录,运行TlbImp /out:Interop.Excel.dll  Excel.exe所在完整路径

此时很可能会报错:TlbImp   error:   Unable   to   locate   input   type   library:   ‘c:\program files\mcrosoft offi
ce\office\EXCEL.EXE’
此问题很有可能是TlbImp的bug,不支持空格式的路径;(具体原因不明)不要紧,将Excel.exe拷贝入bin目录,直接运行TlbImp /out:Interop.Excel.dll Excel.exe,提示“Type library imported to Interop.Excel.dll路径”

在bin目录下找到Interop.Excel.dll文件。在你的visual studio里将其引用即可。

可以查看下我的命令E:\func_core7_branch\Coding\product\win32\office6是wps所在的目录

2、如果是excel2000或excel2002怎么办?

如果是Excel2000,则将Excel.exe改成Excel9.olb
Excel2002同2003

3、各种版本的引用组件参数如下:

文件/版本Interop.Excel.dllInterop.Office.dllInterop.VBIDE.dll添加引用\COM组件2000V1.3.0.0V2.1.0.0V5.3.0.0Microsoft Excel 9.0 Object Library(EXCEL9.OLB)2002(xp)V1.4.0.0V2.2.0.0V5.3.0.0Microsoft Excel 10.0 Object Library(Excel.EXE文件)2003V1.5.0.0V2.3.0.0V5.3.0.0Microsoft Excel 11.0 Object Library(Excel.EXE文件)

(另外一种既不需要客户端安装excel也不需要安装Microsoft.Jet.OLEDB.4.0的方法: http://www.codeproject.com/KB/office/ExcelReader.aspx)

4、困扰我已久的问题:程序智能切换 不同版本(即可以动态调用不同版本)

以ET(即WPS 表格)来举例,Microsoft Office同理

前提是已安装wps环境。C#中如果想要调用不同版本的ET(Excel),则把指向的路径更改就行了

注册表中定位到如下项目HKEY_CLASSES_ROOT\CLSID\{45540001-5750-5300-4B49-4E47534F4654}

更改子项LocalServer32中名称为”(默认)”的值比如:E:\func_core7_branch\Coding\product\win32\office6\et.exe /Automation

其中E:\func_core7_branch\Coding\product\win32\office6\et.exe就是你程序要调用的ET的版本。

说明:ET的CLSID可能会不一样,可能不是{45540001-5750-5300-4B49-4E47534F4654} 。只需要

在控制面板\系统和安全\管理工具\组建服务\计算机\我的电脑\DCOM配置找到Kingsoft Spreadsheets Application Class

查看详细信息可看到CLSID。附上我注册ET的代码

Win7 64位安装Python PIL库 - 琼台博客

mikel阅读(1597)

今天上传图片,一直提示The _imaging C module is not installed,原来是Win7 64位安装32位的PIL库导致,下载本站的64位PIL库安装即可解决Win7 64位安装PIL库问题。

来源: Win7 64位安装Python PIL库 – 琼台博客

今天上传图片,一直提示The _imaging C module is not installed

PIL模块我之前早就安装过了,为什么提示__imaging模块没有安装呢?到python下能找到__imaging.pyd文件,说明已经安装过了。重装一次PIL库结果还是一样!

为了验证我随便写一个Python程序,import __imaging运行提示PIL ImportError: DLL load failed: %1 不是有效的 Win32 应用程序

闹了半天,原来是我系统是Win7 64位的,而安装的PIL库是32位的,结果才导致64位的加载不了32位的程序。到官网去找找也没有发现64位exe程序。经过一番搜索,找到了一个64位的PIL库,可以解决WIN7 64位的问题,直接下载安装就好。

这里我提供下载地址,需要的朋友直接下载就好

PIL-fork-1.1.7.win-amd64-py2.7.exe

windows 64位安装Python以及PIL模块详细步骤 - Renzhouzhou的博客 - 博客频道 - CSDN.NET

mikel阅读(1147)

想利用Python做图像处理,查资料需要安装PIL(Python Image Lib)模块,这又需要先安装easy_install和pip。所以详细安装步骤如下: 1.明确自己电脑版本:我的是windows 64位。 2.安装Python: [Python2.7 windows 64位版本] http://www.9553.com/soft/27520.htm) 下载后安装,一直点击下一步

来源: windows 64位安装Python以及PIL模块详细步骤 – Renzhouzhou的博客 – 博客频道 – CSDN.NET

想利用Python做图像处理,查资料需要安装PIL(Python Image Lib)模块,这又需要先安装easy_install和pip。所以详细安装步骤如下:
1.明确自己电脑版本:我的是windows 64位。
2.安装Python:
[Python2.7 windows 64位版本]
http://www.9553.com/soft/27520.htm)
下载后安装,一直点击下一步直至完成。安装完成后,手动添加Python环境路径:
(1)双击打开计算机:这里写图片描述
(2)单机系统属性:这里写图片描述
(3)点击高级系统设置: 这里写图片描述
(4)点击环境变量 -> 点击PATH ->编辑, 在最后面加上你的Python安装路径(我装在了D盘Python文件夹中) -> 点击确定:
这里写图片描述
这样就可以检查自己的Python是否成功安装了,打开cmd,转入安装盘,输入Python,显示为如下信息证明Python已经安装成功了。
这里写图片描述
3.安装easy_install
下载地址:https://pypi.python.org/pypi/ez_setup
解压,在cmd中,转到对应目录盘,执行以下操作进行安装:

C:\Users\Administrator>d:
D:\>cd D:\python\ez_setup-0.9
D:\python\ez_setup-0.9>python ez_setup.py
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

4.安装pip
下载地址:https://pypi.python.org/pypi/pip
解压,在cmd中,转到对应目录盘,执行以下操作进行安装:

D:\python\ez_setup-0.9>cd D:\python\pip-7.1.2
D:\python\pip-7.1.2>python setup.py install
  • 1
  • 2
  • 1
  • 2

5.安装PIL模块。
官网上只提供了32位版本的PIL,大家可以在百度云链接:http://pan.baidu.com/s/1gdjnNf9 密码:ykr4
中下载到这个Python2.7版本对应64位系统的文件:Pillow-2.7.0-cp27-none-win_amd64.whl。
安装步骤:
(1)在环境变量中添加Scripts文件路径,我的此文件在D盘python文件夹中,所以添加效果如图。具体添加路径的方法与添加Python路径方法相同。
这里写图片描述
(2)在cmd里通过pip安装whl: pip install whl
(3)切换到下载的whl文件所在目录:pip install some.whl
就可以成功安装PIL模块了。这里写图片描述

我只在pycharm中编写Python代码的,在pycharm中导入PIL库中文件方法为:

import sys
sys.path.append('d:\\xxx\\b.py') 

或者

import sys
sys.path.append('d:/xxxx/b.py')