小编Joe*_*eph的帖子

PHPExcel如何解决读取文件时的编码问题

我正在开发一个 Yii2 API,我需要上传一个 .csv 或 .xlsx 文件并使用 PHPExcel 读取它(现在已弃用,但我坚持使用它,因为新的 PhpSpreadsheet 需要 PHP 5.6 或更高版本)并返回数组数据的 。

这是 API 函数中使用的代码

public function actionUpload()
{
    $params = $_FILES['uploadFile'];
    if($params)
    {
        $data = array();
        $model = new UploadForm();
        $model->uploadFile = $_FILES['uploadFile'];
        $file =  UploadedFile::getInstanceByname('uploadFile');
        $inputFileName = $model->getpath($file,$data);
        //  Read your Excel workbook
        try
        {
            $inputFileType = \PHPExcel_IOFactory::identify($inputFileName['link']);
            $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
            if($inputFileType == 'CSV')
            {   


                if (mb_check_encoding(file_get_contents($inputFileName['link']), 'UTF-8'))
                {
                    $objReader->setInputEncoding('UTF-8');
                }
                else
                {
                     $objReader->setInputEncoding('Windows-1255');
                     //$objReader->setInputEncoding('ISO-8859-8');
                }


            }
            $objPHPExcel = $objReader->load($inputFileName['link']);
        }
        catch(Exception $e)
        {
            die('Error …
Run Code Online (Sandbox Code Playgroud)

php phpexcel yii2 phpexcelreader

5
推荐指数
1
解决办法
8313
查看次数

如何将 ListView DataTemplate 中的按钮绑定到 ViewModel 中的命令?(MVVM 光)

我有一个包含以下代码的列表视图:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <ListBox x:Name="allToDoItemsListBox" 
             ItemsSource="{Binding AllToDoItems,Mode=OneWay}" 
             Margin="12,0,12,0" 
             Width="440" 
             ItemTemplate="{StaticResource ToDoListBoxItemTemplate}" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

数据模板如下:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="ToDoListBoxItemTemplate">

        <Grid HorizontalAlignment="Stretch" Width="420">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="100" />
            </Grid.ColumnDefinitions>

            <CheckBox 
                IsChecked="{Binding IsComplete, Mode=TwoWay}" 
                Grid.Column="0" VerticalAlignment="Top"/>

            <TextBlock 
                Text="{Binding ItemName}" 
                FontSize="{StaticResource PhoneFontSizeLarge}" 
                Foreground="Gray"
                Grid.Column="1" Grid.ColumnSpan="2" 
                VerticalAlignment="Top" Margin="-36, 12, 0, 0"/>

            <Button                                
                Grid.Column="3"
                x:Name="deleteTaskButton"
                BorderThickness="0"                                                                  
                Margin="0, -18, 0, 0"
                Command="{Binding Path=DeleteCommand}" CommandParameter="{Binding}"/>

            <Image 
                Source="/Images/appbar.delete.rest.png"
                Height="75"
                Width="75"/>
        </Grid>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>
Run Code Online (Sandbox Code Playgroud)

我尝试将按钮命令“DeleteCommand”绑定到 ViewModel 中的 ICommand,但失败了,我该怎么办?

ViewModel 中的代码是:

 public …
Run Code Online (Sandbox Code Playgroud)

c# binding mvvm mvvm-light windows-phone-8

2
推荐指数
1
解决办法
3712
查看次数

标签 统计

binding ×1

c# ×1

mvvm ×1

mvvm-light ×1

php ×1

phpexcel ×1

phpexcelreader ×1

windows-phone-8 ×1

yii2 ×1