我正在使用PHPExcel导出数据以供下载.打开下载的文件时,如果单元格数量较大,则显示"#######"而不是值编号.我尝试setAutoSize()
了每个列,然后调用,$sheet->calculateColumnWidths()
但它仍然没有变化.我在这里看到calculateColumnWidths(),@ Mark Baker说"calculateColumnWidths()将值增加5%,以确保整个列适合".如果单元格中的数字长度超过5%,那么似乎已经解决了问题
更新 这是我自动调整列的功能:
function autoFitColumnWidthToContent($sheet, $fromCol, $toCol) {
if (empty($toCol) ) {//not defined the last column, set it the max one
$toCol = $sheet->getColumnDimension($sheet->getHighestColumn())->getColumnIndex();
}
for($i = $fromCol; $i <= $toCol; $i++) {
$sheet->getColumnDimension($i)->setAutoSize(true);
}
$sheet->calculateColumnWidths();
}
Run Code Online (Sandbox Code Playgroud) 我正在使用VBA并且需要以type key
=> 保存数据value
以获得最快速度; 这种数据类型帮我从http请求缓存responese文本,提高查询速度.但我不知道最好的方法是什么?我需要一个与php数组相同的数据类型key=>value
!谢谢你的帮助!
我正在尝试编写一个Excel加载项,可以将Web服务中的数据导入Excel.
要使用它,用户只需键入加载项提供的函数名称即可.我在VBA中发现了两篇实现HTTP请求的文章:XMLHTTP和ServerXMLHTTP.
我使用它们有困难.我不知道使用哪一个.XMLHTTP和ServerXMLHTTP之间有什么区别?
我在使用Hiphop尝试编译一个简单的yii应用程序(使用cmd生成yiic webapp demo
)时取得了成功.
hphp test.php --keep-tempdir=1 --log=3 --include-path="../yii/framework"
编译处理没有任何错误或警告.我可以使用cmd编译程序启动服务器:
sudo /tmp/hphp_8AcATe/program -m server -p 8008 -v "Server.SourceRoot=
pwd " \ -v "Server.DefaultDocument=index.php" -v "Server.EnableStaticContentFromDisk=true" -c $HPHP_HOME/bin/mime.hdf
(这个cmd从这里引用- 示例:编译WordPress)
之后,我通过浏览器访问http://127.0.0.1:8008
,然后遇到错误:
更新(我在下面的路径中混淆并修复)
HipHop通知:尝试调用/var/www/demo/../yii/framework/yii.php但未找到文件.在第12行的index.php中
HipHop致命错误:不存在所需的文件:第12行的index.php中的/var/www/demo/../yii/framework/yii.php
这是第12行,index.php:
4. $yii=dirname(__FILE__).'/../yii/framework/yii.php';
...
12. require_once($yii);
Run Code Online (Sandbox Code Playgroud)
UPDATE
我尝试使用realpath()作为@ prodigitalson的提示,但在控制台中,程序仍然输出相同的内容:
所需的文件不存在:第12行的index.php中的/var/www/demo/yii/framework/yii.php
为避免在相对路径混淆的情况下,我将编译的程序文件夹复制到/var/www
(root目录与yii lib :) /var/www/yii/framework
,但没有任何改变:(
有人遇到这个错误对我来说一样吗?如何修复它们?谢谢你的帮助!
我正在使用对象MSXML2.ServerXMLHTTP60向webservice发送请求; 有了这个对象,我可以通过异步方法加速数据加载,并避免锁定Excel屏幕(没有响应).但是,我仍然有一个问题,当webservice响应很长一段时间,出于ServerXMLHTTP60超时设置,请求函数是默默的,我无法捕获超时错误.在另一个问题上,@ osknows建议使用xmlhttp status = 408
捕捉超时错误,但它对我不起作用.
我已经准备好了一个测试文件,你可以在这里下载.按下打开VBA源代码Atl + F8
,您将看到CXMLHTTPHandler
我从本指南中复制的类模块
If m_xmlHttp.readyState = 4 Then
If m_xmlHttp.Status = 200 Then
MsgBox m_xmlHttp.responseText
ElseIf m_xmlHttp.Status = 408 Then 'Debug never run to here?
MsgBox "Request timeout"
Else
'Error happened
End If
End If
Run Code Online (Sandbox Code Playgroud)
如何VBA捕获请求超时错误?
谢谢您帮忙!
我想更新status
模型上的field().我将从DB检索并为status
列分配新值.但是在模型保存之后,我看到另一个日期字段(published_at
)也改为相同updated_at
.当用户单击链接为http:// localhost/dashboard/gallery/publish/1时,操作将运行.
我不知道为什么published_at
更新的汽车和它一样updated_at
?
这是控制器代码:
<?php
class GalleryController extends Controller
{
/**
* Approve to publish the gallery on the web.
*
* @param int $id
* @return Response
*/
public function getPublish($id)
{
$gallery = Gallery::whereId($id)->firstOrFail();
$gallery->status = Gallery::STT_PUBLISH;
$gallery->save();
return redirect( route('backend::gallery.edit',[$gallery->id]) )->with('status', 'Done');
}
}
?>
Run Code Online (Sandbox Code Playgroud)
和图库模型:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Gallery extends Model
{
use …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从webserver获取xml数据到excel,然后我写了一个sendRequest
函数来调用excel
=sendRequest("http://abb.com/index.php?id=111")
当网络服务器出现问题,无法连接或无法找到时,excel没有响应,这太可怕了!为了避免它,我认为我们应该设置timeOut.这些是我的功能:
Function sendRequest(Url)
'Call service
Set XMLHTTP = CreateObject("Msxml2.ServerXMLHTTP.6.0")
'Timeout values are in milli-seconds
lResolve = 10 * 1000
lConnect = 10 * 1000
lSend = 10 * 1000
lReceive = 15 * 1000 'waiting time to receive data from server
XMLHTTP.setTimeOuts lResolve, lConnect, lSend, lReceive
XMLHTTP.OnTimeOut = OnTimeOutMessage 'callback function
XMLHTTP.Open "GET", Url, False
On Error Resume Next
XMLHTTP.Send
On Error GoTo 0
sendRequest = (XMLHTTP.responseText)
End Function
Private Function OnTimeOutMessage()
'Application.Caller.Value = "Server error: …
Run Code Online (Sandbox Code Playgroud) 我有这个VBA宏的问题.
Sub demoChangeText()
Application.Range("B2").Value = "Overidden text"
End Sub
Run Code Online (Sandbox Code Playgroud)
我的测试在这里.要运行此宏,请在Excel中打开它,按,然后Ctrl+F8
选择demoChangeText
.
结果,此宏更改单元格的值B2
(显示给我们的文本),但清除其公式.我需要改变B2
价值,但也需要保留公式.
所以我的问题是如何更改单元格的显示文本而不更改其公式?
UPDATE
我问这个问题,因为我正试图解决这个问题
我想通过VBA设置单元格的值.我用谷歌搜索,并看到一些决议:
Sheets("SheetName").Range("A1").value = someValue
Sheets("SheetName").Cells(1,1).value = someValue
Run Code Online (Sandbox Code Playgroud)
使用这种代码,我只能从单元格A1中读取数据,但我无法为其设置新值.
更新
设置单元格A1值的代码Function
如下所示.
Function abb()
Sheets("SheetName").Range("A1").value = 122333
abb = 'any thing'
End Function
Run Code Online (Sandbox Code Playgroud)
在单元格B2中,我设置=abb()
并按Enter键.我得到了#VALUE但在A1没有任何事情发生.
将此代码放在宏中,它可以工作.
我的问题是,如何使A1在函数内具有值?
我正在与我的朋友在共享主机上托管Yii应用程序,并将数据库保存在私有MySQL服务器中.如您所知,protected\config\main.php
其他主机所有者(我的朋友等)可以很容易地找到数据库信息:
'db'=>array(
'connectionString' => 'mysql:host=211.113.2.45;dbname=FamilyBook',
'emulatePrepare' => true,
'username' => root,
'password' => 'xcute445',
'charset' => 'utf8',
),
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案可以将连接信息隐藏为IP mySQL服务器,用户名和密码?
可以MySQL服务器提供RSA机制来保护数据库信息吗?
例如,任何人都可以看到如下但无法理解或使用:
'db'=>array(
'connectionString' => '57bf064b2166366a5ea61109006b8d5c',
'emulatePrepare' => true,
'username' => '63a9f0ea7bb98050796b649e85481845',
'password' => 'e04ccf211208f8c97e4a36e584926e60',
'charset' => 'utf8',
), // value by MD5 function, example only
Run Code Online (Sandbox Code Playgroud)