我有这个 Excel 文件 ( .xlsx):
+---+-------+
| | A |
+---+-------+
| 1 | 1 |
| 2 | =A1+1 |
| 3 | =2*3 |
+---+-------+
Run Code Online (Sandbox Code Playgroud)
在 Laravel 中,我配置了这段代码来显示内容
return Excel::load(base_path() . '/test.xlsx')->string('csv');
Run Code Online (Sandbox Code Playgroud)
它返回单元格的文本:"1","=A1+1","=3*2"
我想要的是计算值,但格式相同:"1","2","6"
代码
return Excel::load(base_path() . '/test.xlsx')->get();
Run Code Online (Sandbox Code Playgroud)
返回正确的计算数据,但格式错误。
我使用 Laravel Excel 库,并尝试过以下代码:
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
$styleArray = array('fill' => array(
'color' => array('rgb' => '000000')
));
$cellRange = 'A1:W1'; // All headers
$event->sheet->getDelegate()->getStyle($cellRange)->applyFromArray($styleArray);
},
];
}
Run Code Online (Sandbox Code Playgroud)
结果我得到没有黑色背景颜色的标题。
我也试过这个数组设置:
$styleArray = [
'font' => [
'bold' => true,
],
'background' => [
'color'=> '#000000'
]
];
Run Code Online (Sandbox Code Playgroud)
我使用事件,而不是创建。请不要推荐不相关的答案
美好的一天,伙计们,..我需要下载一个仅显示标题的 Excel 模板,..
我的问题的 laravel-excel 版本 2 中有良好且有效的函数代码。但在 3.1 版本中我不知道如何编码。
这是我在版本 2 中的代码;
public function downloadCoursesTemplate()
{
$columns = array(
'Course Code',
'Course Description',
'Status'
);
return Excel::download('Courses', function ($excel) use ($columns) {
$excel->sheet('Courses', function ($sheet) use ($columns) {
$sheet->fromArray($columns);
});
})->export('xlsx');
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
我想要在 laravel-excel 版本 3.1 上实现
新版本中有文档,但我找不到它来解决我的问题。
有人可以帮助我吗?谢谢。对不起我的英语语法。
当我尝试运行实现块读取和队列的导入时,我从 Vapor 队列收到以下错误;
ErrorException: touch(): Unable to create file /tmp/storage/framework/laravel-excel/laravel-excel-7IEEz0rP7NORtp7N4NeOxuH0hlbM9JPR.csv because No such file or directory in /var/task/vendor/maatwebsite/excel/src/Files/RemoteTemporaryFile.php:97
Run Code Online (Sandbox Code Playgroud)
Laravel Excel 文档说要在 config/excel.php 中设置这些值
https://docs.laravel-excel.com/3.1/imports/queued.html#multi-server-setup
'temporary_files' => [
'local_path' => storage_path('framework/laravel-excel'),
'remote_disk' => 's3',
'force_resync_remote' => true,
Run Code Online (Sandbox Code Playgroud)
我的 steam yml 文件具有以下存储设置,并且使用正确的 env 值一切正常。用于蒸汽和当地发展
storage: **correct bucket name**
Run Code Online (Sandbox Code Playgroud)
有没有人设法使用 Laravel Excel 和 Vapor 进行排队导入,如果是的话,您是如何管理的?该文档并没有真正解释我应该使用什么值
我在php7.0上使用Laravel 5.2以及何时
我尝试使用Laravel excel(http://www.maatwebsite.nl/laravel-excel)。像这样:
public function export(){
$users = User::with('roles')->get();
$excel = Excel::create('beo_felhasznalo_export'. date('_Y-m-d_H-i-s'));
//header
$excel->appendRow(array(
'felhasználónév', 'valódi név', 'e-mail', 'mobil', 'felhasználói szint'
));
foreach($users as $user){
$excel->appendRow(array(
$user->username,
$user->real_name,
$user->email,
$user->mobile_number,
implode(',', $user->roles())
));
}
$excel->download('xls');
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Illuminate\Contracts\Container\BindingResolutionException thrown with message "Target [Illuminate\Contracts\Bus\Dispatcher] is not instantiable."
Stacktrace:
#87 Illuminate\Contracts\Container\BindingResolutionException in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
#86 Illuminate\Container\Container:build in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:633
#85 Illuminate\Container\Container:make in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:674
#84 Illuminate\Foundation\Application:make in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:1178
#83 Illuminate\Container\Container:offsetGet in D:\Projects\beo_site\vendor\maatwebsite\excel\src\Maatwebsite\Excel\ExcelServiceProvider.php:123
#82 Maatwebsite\Excel\ExcelServiceProvider:Maatwebsite\Excel\{closure} in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:289
#81 Illuminate\Container\Container:Illuminate\Container\{closure} in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:735
#80 …Run Code Online (Sandbox Code Playgroud) 我有一个与 Laravel Excel 相关的问题。我的标题充满了日期,例如:2018-05-23。但是当我使用 excel 扩展名阅读它时:
$data = Excel::load($request['file'], function($reader) {})->get();
Run Code Online (Sandbox Code Playgroud)
扩展不会将标题日期视为日期。取而代之的是将其转换的日期,某些数字-例如:43243。
这是dd工作表:
重要说明:当日期在正常行中(不在标题中)时,日期转换得很好。
Laravel Excel 版本 (maatwebsite/excel) - 2.1.0
Laravel 版本 - 5.5
我正在使用 Laravel Excel 3.1 版来生成 CSV/XLS 等。我必须自定义我的 csv 或 xls 以在列中生成自定义页脚和页眉。
它应该看起来像所附的屏幕截图。
另外,我想将导出的文件存储到存储位置,但无法正常工作。
我所做的代码是:
class ReportExport implements FromArray, WithHeadings
{
protected $results;
public function __construct(array $results, array $headings, array $fileAttributes)
{
$this->results = $results;
$this->headings = $headings;
$this->file_attributes = $fileAttributes;
}
/**
* @return array
*/
public function array(): array
{
return $this->results;
}
/**
* @return array
*/
public function headings(): array
{
return $this->headings;
}
public function registerEvents(): array
{
return [
// Handle by a closure.
BeforeExport::class …Run Code Online (Sandbox Code Playgroud) 我正在使用 laravel maatwebsite excel,
我尝试传递变量并执行一些操作并作为数组返回以导出,
因此,当我尝试将数组传递给主控制器以进行 excel 导出(下载)时出现错误
我的主控制器
public function excel_export(Request $request){
return Excel::download(new UsersExport($request->exp_vlas), 'users.xlsx');
}
Run Code Online (Sandbox Code Playgroud)
这里我将变量传递给集合
我的出口控制器
public function collection(){
$instruments = implode(",",$this->id);
$instruments = explode(",",$instruments);
//$i=0;
foreach ($instruments as $instrument) {
$instr_list = DB::table('instruments')->select('*')->where('id',$instrument)->get()->toArray();
$arr_instrulist[] = $instr_list;
$instrument_var[] = $instrument;
$instr_list = "";
//$i++;
}
$arr_instrulist_excel[] = array('Instrument Name', 'Serial', 'Qa id', 'Unit', 'Range');
foreach($arr_instrulist as $arr_instrulists){
//$arr_instrulists = array($arr_instrulists);
$arr_instrulist_excel[] = array(
'Instrument Name' => $arr_instrulists[0]->instrument_name,
'Serial' => $arr_instrulists[0]->serial,
'Qa id' => $arr_instrulists[0]->qa_identification_no,
'Unit' => …Run Code Online (Sandbox Code Playgroud) 在Excel中,我有3列,名称Total,Payment Released和Payment Return。为了计算Payment Return,我在其中添加了一个公式,即=U2-G2.
注:U2 是
Payment Released,G2 是Total。
我已经阅读了 Maatwebsite Laravel Excel 的文档,用于从 excel 导入数据库,并且数据插入成功。但是当我检查数据库时,该payment_return列全部由零填充0。当我这样做时dd($row['Payment Return'],它显示的不是它包含在 excel 中的值,而是公式本身。
请问这个怎么解决?
PS:也读过这个,但是我不知道import.php文件在哪里,我应该在哪里写函数?
提前致谢!
我有一个基本表单,其中包含一个 excel 文件上传和一个选择选项。
选择包含几个选项。我想将带有文件的用户的选定选项传递给我的Excel::import
我尝试将另一个参数传递给我的导入,但它返回错误。(必须是字符串,给定数组)
这可以使用 Laravel excel 导入吗?
控制器
public function create(Request $request)
{
if($request->hasFile('file'))
{
$package = $request->input('package');
// how can I add $package to my import to insert it to my user model?
Excel::import(new AccountsImport, $request->file('file'));
return ['message' => 'Excel has been succesfully uploaded'];
}
}
Run Code Online (Sandbox Code Playgroud)
帐户导入
class AccountsImport implements ToCollection, withHeadingRow
{
public function collection(Collection $rows)
{
$rows->each(function($row, $key) {
Account::create([
'name' => $row['student'],
'email' => $row['e_mail'],
// Want it to be possible to add …Run Code Online (Sandbox Code Playgroud) laravel ×10
laravel-excel ×10
php ×7
excel ×4
laravel-5 ×1
laravel-5.2 ×1
laravel-6 ×1
laravel-8 ×1
mysql ×1
phpexcel ×1